Advertisement
Lezorical

Current java

Jun 12th, 2016
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 10.42 KB | None | 0 0
  1. package p1;
  2.  
  3. import java.awt.Color;
  4. import java.awt.Font;
  5. import java.awt.event.ActionEvent;
  6. import java.awt.event.ActionListener;
  7. import java.awt.event.ItemEvent;
  8. import java.awt.event.ItemListener;
  9. import java.awt.event.WindowAdapter;
  10. import java.awt.event.WindowEvent;
  11. import java.io.BufferedOutputStream;
  12. import java.io.BufferedReader;
  13. import java.io.File;
  14. import java.io.FileInputStream;
  15. import java.io.FileNotFoundException;
  16. import java.io.FileOutputStream;
  17. import java.io.FileReader;
  18. import java.io.IOException;
  19. import java.io.InputStream;
  20. import java.io.OutputStream;
  21. import java.io.PrintWriter;
  22. import java.net.SocketException;
  23.  
  24. import javax.swing.DefaultListModel;
  25. import javax.swing.JButton;
  26. import javax.swing.JCheckBox;
  27. import javax.swing.JDialog;
  28. import javax.swing.JFileChooser;
  29. import javax.swing.JFrame;
  30. import javax.swing.JLabel;
  31. import javax.swing.JList;
  32. import javax.swing.JPanel;
  33. import javax.swing.JPasswordField;
  34. import javax.swing.JScrollPane;
  35. import javax.swing.JTextField;
  36.  
  37. import org.apache.commons.net.ftp.FTP;
  38. import org.apache.commons.net.ftp.FTPClient;
  39.  
  40. public class OperaFTP{
  41.    
  42.     private static FTPClient client = new FTPClient();
  43.     private static OperaFTP Operation = new OperaFTP();
  44.     private static JLabel Cr;
  45.     JFrame loginWindow = new JFrame("Login");
  46.     private static JLabel wrong = new JLabel();
  47.    
  48.     public static void main(String[] args){
  49.         Operation.firstWindow();
  50.        
  51.     }
  52.    
  53.     private void firstWindow(){
  54.        
  55.          JPanel loginPane = new JPanel(null);
  56.          
  57.          JLabel title;
  58.          JLabel ftpMore;
  59.          JLabel userName;
  60.          JLabel passWord;
  61.          
  62.          JButton connect = new JButton("Connect");
  63.        
  64.         loginWindow.setDefaultCloseOperation(3);
  65.         loginWindow.setSize(300, 340);
  66.         loginWindow.setResizable(false);
  67.         loginWindow.setLocationRelativeTo(null);
  68.        
  69.         loginWindow.add(loginPane);
  70.        
  71.         title = new JLabel("FTP LOGIN");
  72.         title.setFont(new Font("Times New Roman", 1, 40));
  73.         title.setForeground(Color.RED);
  74.         title.setBounds(35, 6, 300, 60);
  75.         loginPane.add(title);
  76.        
  77.         ftpMore = new JLabel("ftp://");
  78.         ftpMore.setBounds(20, 76, 60, 30);
  79.         ftpMore.setForeground(Color.BLUE);
  80.         ftpMore.setFont(new Font("Times New Roman", 0, 16));
  81.         loginPane.add(ftpMore);
  82.        
  83.         JTextField ftpIp = new JTextField();
  84.         ftpIp.setBounds(50, 80, 190, 25);
  85.         loginPane.add(ftpIp);
  86.        
  87.         userName = new JLabel("Username:");
  88.         userName.setBounds(70, 115, 60, 30);
  89.         userName.setFont(new Font("Times New Roman", 0, 14));
  90.         loginPane.add(userName);
  91.        
  92.         JTextField userField = new JTextField();
  93.         userField.setBounds(70, 140, 150, 25);
  94.         loginPane.add(userField);
  95.        
  96.         passWord = new JLabel("Password:");
  97.         passWord.setBounds(70, 175, 60, 30);
  98.         passWord.setFont(new Font("Times New Roman", 0, 14));
  99.         loginPane.add(passWord);
  100.        
  101.         JPasswordField passField = new JPasswordField();
  102.         passField.setBounds(70, 200, 150, 25);
  103.         loginPane.add(passField);
  104.        
  105.         connect.setBounds(75, 240, 140, 40);
  106.         connect.setFont(new Font("Arial", 2, 18));
  107.         loginPane.add(connect);
  108.        
  109.         Cr = new JLabel("Save credentials");
  110.         Cr.setBounds(95, 280, 200, 30);
  111.         loginPane.add(Cr);
  112.        
  113.         JCheckBox saveCr = new JCheckBox();
  114.         saveCr.setBounds(75, 285, 20, 20);
  115.         loginPane.add(saveCr);
  116.        
  117.         File ftpC = new File(System.getProperty("user.home") + "\\Documents\\FTPFILECREDIANTIALS.txt");
  118.        
  119.         String xx = null;
  120.         String xx2 = null;
  121.         String xx3 = null;
  122.         if (ftpC.exists()){
  123.           try{
  124.             BufferedReader read = new BufferedReader(new FileReader(ftpC));
  125.            
  126.             xx = read.readLine();
  127.             xx2 = read.readLine();
  128.             xx3 = read.readLine();
  129.            
  130.             read.close();
  131.           }
  132.           catch (IOException e1){
  133.             System.out.println("FILE NOT FOUND/CANT READ FROM FILE");
  134.           }
  135.         }
  136.        
  137.         ftpIp.setText(xx);
  138.         userField.setText(xx2);
  139.         passField.setText(xx3);
  140.        
  141.         saveCr.addItemListener(new ItemListener(){
  142.           public void itemStateChanged(ItemEvent e){
  143.             try{
  144.               PrintWriter write = new PrintWriter(ftpC);
  145.              
  146.               write.println(ftpIp.getText());
  147.               write.println(userField.getText());
  148.               write.print(passField.getPassword());
  149.              
  150.               write.close();
  151.             }
  152.             catch (FileNotFoundException e1){
  153.               System.out.println("FILE NOT FOUND:" + e1);
  154.             }
  155.           }
  156.         });
  157.        
  158.         connect.addActionListener(new ActionListener(){
  159.             public void actionPerformed(ActionEvent e){
  160.             String user = null;
  161.             String pass = null;
  162.             String server = null;
  163.            
  164.             server = ftpIp.getText();
  165.             user = userField.getText();
  166.             char[] passs = passField.getPassword();
  167.             pass = passs.toString();
  168.            
  169.             try{
  170.                 login(server, user, pass);
  171.             } catch (IOException e1) {}
  172.            
  173.           }
  174.          
  175.         });
  176.        
  177.         loginWindow.setVisible(true);
  178.     }
  179.    
  180.     public static void login(String server, String user, String pass) throws SocketException, IOException{
  181.         client.connect(server, 21);
  182.         client.login(user, pass);
  183.         client.enterLocalPassiveMode();
  184.         client.setFileType(FTP.BINARY_FILE_TYPE);
  185.        
  186.         boolean success = client.isConnected();
  187.        
  188.         if(success){
  189.             frame();
  190.         }else{
  191.            
  192.         }
  193.        
  194.     }
  195.    
  196.     public static void frame(){
  197.         Operation.loginWindow.dispose();
  198.        
  199.         JFrame window = new JFrame();
  200.         JPanel pane = new JPanel(null);
  201.        
  202.         DefaultListModel model = new DefaultListModel();
  203.        
  204.         window.setSize(700, 700);
  205.         window.setResizable(false);
  206.         window.setLocationRelativeTo(null);
  207.        
  208.         window.add(pane);
  209.        
  210.         JButton upload = new JButton("Upload");
  211.         upload.setBounds(5, 5, 90, 30);
  212.         upload.setFont(new Font("Arial", 0, 12));
  213.         pane.add(upload);
  214.        
  215.         JButton download = new JButton("Download");
  216.         download.setBounds(5, 40, 90, 30);
  217.         download.setFont(new Font("Arial", 0, 12));
  218.         pane.add(download);
  219.        
  220.         JButton delete = new JButton("Delete");
  221.         delete.setBounds(5, 75, 90, 30);
  222.         delete.setFont(new Font("Arial", 0, 12));
  223.         pane.add(delete);
  224.        
  225.         String[] files = null;
  226.         try
  227.         {
  228.           files = client.listNames();
  229.           String[] arrayOfString1;
  230.           int j = (arrayOfString1 = files).length;
  231.           for (int i = 0; i < j; i++)
  232.           {
  233.             String item = arrayOfString1[i];
  234.             model.addElement(item);
  235.           }
  236.         }
  237.         catch (IOException localIOException) {}
  238.         JList list = new JList(files);
  239.         list.setSelectionMode(0);
  240.         JScrollPane scroll = new JScrollPane(list);
  241.         scroll.setBounds(110, 10, 560, 630);
  242.         pane.add(scroll);
  243.        
  244.         final JLabel info = new JLabel();
  245.         info.setBounds(10, 640, 700, 30);
  246.         pane.add(info);
  247.         if (client.isConnected()) {
  248.           info.setText("Connected");
  249.         }
  250.         upload.addActionListener(new ActionListener()
  251.         {
  252.           public void actionPerformed(ActionEvent e)
  253.           {
  254.             JFileChooser fileChooser = new JFileChooser();
  255.            
  256.             fileChooser.setCurrentDirectory(new File(System.getProperty("user.home")));
  257.             int result = fileChooser.showOpenDialog(new JDialog());
  258.             if (result == 0) {
  259.               try
  260.               {
  261.                 client.setFileType(2);
  262.                
  263.                 File selectedFile = fileChooser.getSelectedFile();
  264.                
  265.                 String firstRemoteFile = selectedFile.getName();
  266.                 InputStream inputStream = new FileInputStream(selectedFile);
  267.                
  268.               //  ftpMore.setText("Uploading...");
  269.                
  270.                 boolean done = client.storeFile(firstRemoteFile, inputStream);
  271.                
  272.                 inputStream.close();
  273.                 if (!done) {
  274.                   return;
  275.                 }
  276.                 //ftpMore.setText("File has been uploaded.");
  277.                 model.addElement(selectedFile.getName());
  278.               }
  279.               catch (IOException ex)
  280.               {
  281.                 wrong.setText("ERROR: " + ex.getMessage());
  282.               }
  283.             } else {
  284.               System.out.println("Cancelled");
  285.             }
  286.           }
  287.         });
  288.        
  289.         download.addActionListener(new ActionListener(){
  290.           public void actionPerformed(ActionEvent e){
  291.             JFileChooser fileChooser = new JFileChooser();
  292.            //fileChooser.setSelectedFile(new File(fileChooser.getSelectedValue()));
  293.             fileChooser.setCurrentDirectory(new File(System.getProperty("user.home")));
  294.             int result = fileChooser.showSaveDialog(new JDialog());
  295.             if (result == 0){
  296.               try{
  297.                 String getValue = model.toString();
  298.                 String remoteFile1 = getValue;
  299.                
  300.                 File downloadFile1 = new File(fileChooser.getSelectedFile().getAbsolutePath());
  301.                
  302.                 OutputStream outputStream1 = new BufferedOutputStream(new FileOutputStream(downloadFile1));
  303.                
  304.                 info.setText("Downloading...");
  305.                 boolean success = client.retrieveFile(remoteFile1, outputStream1);
  306.                 outputStream1.close();
  307.                 if (!success) {
  308.                   return;
  309.                 }
  310.                 info.setText("Complete");
  311.               }
  312.               catch (IOException ex)
  313.               {
  314.                 info.setText("Error: " + ex);
  315.               }
  316.             } else {
  317.               info.setText("Cancelled");
  318.             }
  319.           }
  320.         });
  321.        
  322.         delete.addActionListener(new ActionListener(){
  323.             public void actionPerformed(ActionEvent e){
  324.             String deletef = model.toString();
  325.            
  326.             try{
  327.               info.setText("Deleteing...");
  328.              
  329.               boolean deleted = client.deleteFile(deletef);
  330.               if (deleted){
  331.                 info.setText("File has been deleted.");
  332.                 model.removeElement(deletef);
  333.               }
  334.             }
  335.            
  336.             catch (IOException ex){
  337.               info.setText("ERROR: " + ex);
  338.             }
  339.            
  340.           }
  341.         });
  342.        
  343.         window.addWindowListener(new WindowAdapter(){
  344.           public void windowClosing(WindowEvent windowEvent){
  345.             try{
  346.               client.disconnect();
  347.               client.logout();
  348.             }
  349.             catch (IOException localIOException) {}
  350.             System.exit(1);
  351.           }
  352.         });
  353.        
  354.         window.setVisible(true);
  355.        
  356.       }
  357.    
  358. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement