uploadfile.java

来自「java网络高级编程的配套源码,java网络高级编程为清华出版社出版.」· Java 代码 · 共 69 行

JAVA
69
字号
/*源程序清单12-25*/

package ftp;

import sun.net.ftp.*;
import java.util.*;
import java.io.*;
import java.net.*;

class UploadFile extends Thread
{//上载文件,作为一个线程,可同时上载多个文件
  String ip="";
  String username="";
  String password="";
  String path="";
  String filename="";
  String directory="";
  MainFrame frame=null;

  public UploadFile(MainFrame frame,String server,String username,String password,String path,String filename,String userpath)
  {                                   //服务器IP     用户名               用户密码  服务器路径=项目ID  上载文件名    //本地文件名
    this.ip=server;
    this.username=username;
    this.password=username;
    this.path=path;
    this.filename=filename;
    this.directory=userpath;
    this.frame=frame;
  }

  public void run()
  {
   try
   {
      String savefilename=directory;
      FtpClient ftpClient=new FtpClient();
      ftpClient.openServer(ip);
	    ftpClient.login(username, password);
      if (path.length()!=0) ftpClient.cd(path);
      ftpClient.binary();
	    OutputStream os=ftpClient.put(filename);
 	    File file_in=new File(savefilename);
      FileInputStream is=new FileInputStream(file_in);
      byte[] bytes=new byte[1024];
 	    int c;
      frame.list1.add(filename);
      frame.textArea1.append("正在上载文件"+filename+" ,请稍候...\n");
  	  while ((c=is.read(bytes))!=-1)
      {
	      os.write(bytes,0,c);
      }
      frame.list1.remove(filename);
      frame.textArea1.append("文件"+filename+"上载完成!\n");
      is.close();
      os.close();
      frame.setGridData();
      frame.downFile.removeElement(this);
      stop();
     }
     catch(Exception e)
     {
      System.out.println(e.toString());
      frame.textArea1.append("文件"+filename+"上载出错!\n");
      return;
    }
  }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?