Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package p1;
- import java.awt.Color;
- import java.awt.Font;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.awt.event.ItemEvent;
- import java.awt.event.ItemListener;
- import java.awt.event.WindowAdapter;
- import java.awt.event.WindowEvent;
- import java.io.BufferedOutputStream;
- import java.io.BufferedReader;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.FileNotFoundException;
- import java.io.FileOutputStream;
- import java.io.FileReader;
- import java.io.IOException;
- import java.io.InputStream;
- import java.io.OutputStream;
- import java.io.PrintWriter;
- import java.net.SocketException;
- import javax.swing.DefaultListModel;
- import javax.swing.JButton;
- import javax.swing.JCheckBox;
- import javax.swing.JDialog;
- import javax.swing.JFileChooser;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.JList;
- import javax.swing.JPanel;
- import javax.swing.JPasswordField;
- import javax.swing.JScrollPane;
- import javax.swing.JTextField;
- import org.apache.commons.net.ftp.FTP;
- import org.apache.commons.net.ftp.FTPClient;
- public class OperaFTP{
- private static FTPClient client = new FTPClient();
- private static OperaFTP Operation = new OperaFTP();
- private static JLabel Cr;
- JFrame loginWindow = new JFrame("Login");
- private static JLabel wrong = new JLabel();
- public static void main(String[] args){
- Operation.firstWindow();
- }
- private void firstWindow(){
- JPanel loginPane = new JPanel(null);
- JLabel title;
- JLabel ftpMore;
- JLabel userName;
- JLabel passWord;
- JButton connect = new JButton("Connect");
- loginWindow.setDefaultCloseOperation(3);
- loginWindow.setSize(300, 340);
- loginWindow.setResizable(false);
- loginWindow.setLocationRelativeTo(null);
- loginWindow.add(loginPane);
- title = new JLabel("FTP LOGIN");
- title.setFont(new Font("Times New Roman", 1, 40));
- title.setForeground(Color.RED);
- title.setBounds(35, 6, 300, 60);
- loginPane.add(title);
- ftpMore = new JLabel("ftp://");
- ftpMore.setBounds(20, 76, 60, 30);
- ftpMore.setForeground(Color.BLUE);
- ftpMore.setFont(new Font("Times New Roman", 0, 16));
- loginPane.add(ftpMore);
- JTextField ftpIp = new JTextField();
- ftpIp.setBounds(50, 80, 190, 25);
- loginPane.add(ftpIp);
- userName = new JLabel("Username:");
- userName.setBounds(70, 115, 60, 30);
- userName.setFont(new Font("Times New Roman", 0, 14));
- loginPane.add(userName);
- JTextField userField = new JTextField();
- userField.setBounds(70, 140, 150, 25);
- loginPane.add(userField);
- passWord = new JLabel("Password:");
- passWord.setBounds(70, 175, 60, 30);
- passWord.setFont(new Font("Times New Roman", 0, 14));
- loginPane.add(passWord);
- JPasswordField passField = new JPasswordField();
- passField.setBounds(70, 200, 150, 25);
- loginPane.add(passField);
- connect.setBounds(75, 240, 140, 40);
- connect.setFont(new Font("Arial", 2, 18));
- loginPane.add(connect);
- Cr = new JLabel("Save credentials");
- Cr.setBounds(95, 280, 200, 30);
- loginPane.add(Cr);
- JCheckBox saveCr = new JCheckBox();
- saveCr.setBounds(75, 285, 20, 20);
- loginPane.add(saveCr);
- File ftpC = new File(System.getProperty("user.home") + "\\Documents\\FTPFILECREDIANTIALS.txt");
- String xx = null;
- String xx2 = null;
- String xx3 = null;
- if (ftpC.exists()){
- try{
- BufferedReader read = new BufferedReader(new FileReader(ftpC));
- xx = read.readLine();
- xx2 = read.readLine();
- xx3 = read.readLine();
- read.close();
- }
- catch (IOException e1){
- System.out.println("FILE NOT FOUND/CANT READ FROM FILE");
- }
- }
- ftpIp.setText(xx);
- userField.setText(xx2);
- passField.setText(xx3);
- saveCr.addItemListener(new ItemListener(){
- public void itemStateChanged(ItemEvent e){
- try{
- PrintWriter write = new PrintWriter(ftpC);
- write.println(ftpIp.getText());
- write.println(userField.getText());
- write.print(passField.getPassword());
- write.close();
- }
- catch (FileNotFoundException e1){
- System.out.println("FILE NOT FOUND:" + e1);
- }
- }
- });
- connect.addActionListener(new ActionListener(){
- public void actionPerformed(ActionEvent e){
- String user = null;
- String pass = null;
- String server = null;
- server = ftpIp.getText();
- user = userField.getText();
- char[] passs = passField.getPassword();
- pass = passs.toString();
- try{
- login(server, user, pass);
- } catch (IOException e1) {}
- }
- });
- loginWindow.setVisible(true);
- }
- public static void login(String server, String user, String pass) throws SocketException, IOException{
- client.connect(server, 21);
- client.login(user, pass);
- client.enterLocalPassiveMode();
- client.setFileType(FTP.BINARY_FILE_TYPE);
- boolean success = client.isConnected();
- if(success){
- frame();
- }else{
- }
- }
- public static void frame(){
- Operation.loginWindow.dispose();
- JFrame window = new JFrame();
- JPanel pane = new JPanel(null);
- DefaultListModel model = new DefaultListModel();
- window.setSize(700, 700);
- window.setResizable(false);
- window.setLocationRelativeTo(null);
- window.add(pane);
- JButton upload = new JButton("Upload");
- upload.setBounds(5, 5, 90, 30);
- upload.setFont(new Font("Arial", 0, 12));
- pane.add(upload);
- JButton download = new JButton("Download");
- download.setBounds(5, 40, 90, 30);
- download.setFont(new Font("Arial", 0, 12));
- pane.add(download);
- JButton delete = new JButton("Delete");
- delete.setBounds(5, 75, 90, 30);
- delete.setFont(new Font("Arial", 0, 12));
- pane.add(delete);
- String[] files = null;
- try
- {
- files = client.listNames();
- String[] arrayOfString1;
- int j = (arrayOfString1 = files).length;
- for (int i = 0; i < j; i++)
- {
- String item = arrayOfString1[i];
- model.addElement(item);
- }
- }
- catch (IOException localIOException) {}
- JList list = new JList(files);
- list.setSelectionMode(0);
- JScrollPane scroll = new JScrollPane(list);
- scroll.setBounds(110, 10, 560, 630);
- pane.add(scroll);
- final JLabel info = new JLabel();
- info.setBounds(10, 640, 700, 30);
- pane.add(info);
- if (client.isConnected()) {
- info.setText("Connected");
- }
- upload.addActionListener(new ActionListener()
- {
- public void actionPerformed(ActionEvent e)
- {
- JFileChooser fileChooser = new JFileChooser();
- fileChooser.setCurrentDirectory(new File(System.getProperty("user.home")));
- int result = fileChooser.showOpenDialog(new JDialog());
- if (result == 0) {
- try
- {
- client.setFileType(2);
- File selectedFile = fileChooser.getSelectedFile();
- String firstRemoteFile = selectedFile.getName();
- InputStream inputStream = new FileInputStream(selectedFile);
- // ftpMore.setText("Uploading...");
- boolean done = client.storeFile(firstRemoteFile, inputStream);
- inputStream.close();
- if (!done) {
- return;
- }
- //ftpMore.setText("File has been uploaded.");
- model.addElement(selectedFile.getName());
- }
- catch (IOException ex)
- {
- wrong.setText("ERROR: " + ex.getMessage());
- }
- } else {
- System.out.println("Cancelled");
- }
- }
- });
- download.addActionListener(new ActionListener(){
- public void actionPerformed(ActionEvent e){
- JFileChooser fileChooser = new JFileChooser();
- //fileChooser.setSelectedFile(new File(fileChooser.getSelectedValue()));
- fileChooser.setCurrentDirectory(new File(System.getProperty("user.home")));
- int result = fileChooser.showSaveDialog(new JDialog());
- if (result == 0){
- try{
- String getValue = model.toString();
- String remoteFile1 = getValue;
- File downloadFile1 = new File(fileChooser.getSelectedFile().getAbsolutePath());
- OutputStream outputStream1 = new BufferedOutputStream(new FileOutputStream(downloadFile1));
- info.setText("Downloading...");
- boolean success = client.retrieveFile(remoteFile1, outputStream1);
- outputStream1.close();
- if (!success) {
- return;
- }
- info.setText("Complete");
- }
- catch (IOException ex)
- {
- info.setText("Error: " + ex);
- }
- } else {
- info.setText("Cancelled");
- }
- }
- });
- delete.addActionListener(new ActionListener(){
- public void actionPerformed(ActionEvent e){
- String deletef = model.toString();
- try{
- info.setText("Deleteing...");
- boolean deleted = client.deleteFile(deletef);
- if (deleted){
- info.setText("File has been deleted.");
- model.removeElement(deletef);
- }
- }
- catch (IOException ex){
- info.setText("ERROR: " + ex);
- }
- }
- });
- window.addWindowListener(new WindowAdapter(){
- public void windowClosing(WindowEvent windowEvent){
- try{
- client.disconnect();
- client.logout();
- }
- catch (IOException localIOException) {}
- System.exit(1);
- }
- });
- window.setVisible(true);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement