tinguo002

           

          java FTP Linux系統(tǒng)下 文件上傳下載

          http://www.aygfsteel.com/parable-myth/archive/2008/05/16/200879.html
          import java.io.File;
          import java.io.FileOutputStream;
          import java.io.IOException;
          import java.io.OutputStream;

          import org.apache.commons.net.ftp.FTPClient;
          import org.apache.commons.net.ftp.FTPClientConfig;
          import org.apache.commons.net.ftp.FTPFile;

          public class DownFTPFile {

          private String hostname; 
          private String username;
          private String password;
          private String localBaseDir; 
          private String remoteBaseDir; 


          private static FTPClient ftpClient = new FTPClient(); 

          public static void main(String[] args) {
          String hostname 
          = "172.18.72.66";
          String username 
          = "sfdc3";
          String password 
          = "sfdcadmin";
          String localBaseDir 
          = "c:/temp/";
          String remoteBaseDir 
          = "ptsinstall/v3.20.06";

          DownFTPFile downFTPClient 
          = new DownFTPFile();
          downFTPClient.setHostname(hostname);
          downFTPClient.setUsername(username);
          downFTPClient.setPassword(password);
          downFTPClient.setLocalBaseDir(localBaseDir);
          downFTPClient.setRemoteBaseDir(remoteBaseDir);
          downFTPClient.startDown();
          }


          private void startDown() {
          try {
          ftpClient.connect(hostname);
          ftpClient.login(username, password);
          FTPClientConfig conf 
          = new FTPClientConfig( FTPClientConfig.SYST_UNIX);
          ftpClient.configure(conf);
          }
           catch (Exception e1) {
          e1.printStackTrace();
          }


          try {
          FTPFile[] files 
          = null;
          boolean changedir = ftpClient.changeWorkingDirectory(remoteBaseDir);
          if ( changedir ){
          files 
          = ftpClient.listFiles();
          for (int i = 0; i < files.length; i++{
          downloadFile(files[i], localBaseDir, remoteBaseDir);

          /**

          下載單個文件文件
          InputStream is = ftpClient.retrieveFileStream(remoteBaseDir);
             BufferedReader br = new BufferedReader(new InputStreamReader(is, "utf8"));

             String str="";
             try {
              while((str=br.readLine())!=null){
               System.out.println(str);
              }
             } catch (Exception e) {       
              e.printStackTrace();
             }
          */
          }
          }

          }
           catch (Exception e) {
          System.out.println(e);
          }

          }


          private void downloadFile(FTPFile ftpFile, String relativeLocalPath,String relativeRemotePath) {
          if (ftpFile.isFile()) {//down file
          if (ftpFile.getName().indexOf("?"== -1{
          OutputStream outputStream 
          = null;
          try {
          outputStream 
          = new FileOutputStream(relativeLocalPath+ ftpFile.getName());
          ftpClient.retrieveFile(ftpFile.getName(), outputStream);
          outputStream.flush();
          outputStream.close();
          }
           catch (Exception e) {
          System.err.println( e );
          }
           finally {
          try {
          if (outputStream != null)
          outputStream.close();
          }
           catch (IOException e) {
          System.out.println(
          "ShowasaFile");
          }

          }

          }

          }
           else //deal dirctory
          String newlocalRelatePath = relativeLocalPath + ftpFile.getName();
          String newRemote 
          = new String(relativeRemotePath+ ftpFile.getName().toString());

          File fl 
          = new File(newlocalRelatePath);
          if (!fl.exists()) {
          fl.mkdirs();
          }

          try {
          newlocalRelatePath 
          = newlocalRelatePath + '/';
          newRemote 
          = newRemote + "/";
          String currentWorkDir 
          = ftpFile.getName().toString();
          //enter relative workdirectory
          boolean changedir = ftpClient.changeWorkingDirectory(currentWorkDir);
          if (changedir) {
          FTPFile[] files 
          = null;
          files 
          = ftpClient.listFiles();
          for (int i = 0; i < files.length; i++{
          downloadFile(files[i], newlocalRelatePath, newRemote);
          }

          }

          //return parent directory
          if (changedir)
          ftpClient.changeToParentDirectory();
          }
           catch (Exception e) {
          System.out.println(e);
          }

          }

          }



          public String getHostname() {
          return hostname;
          }



          public void setHostname(String hostname) {
          this.hostname = hostname;
          }



          public String getPassword() {
          return password;
          }



          public void setPassword(String password) {
          this.password = password;
          }



          public String getUsername() {
          return username;
          }



          public void setUsername(String username) {
          this.username = username;
          }



          public String getLocalBaseDir() {
          return localBaseDir;
          }



          public void setLocalBaseDir(String localBaseDir) {
          this.localBaseDir = localBaseDir;
          }



          public String getRemoteBaseDir() {
          return remoteBaseDir;
          }



          public void setRemoteBaseDir(String remoteBaseDir) {
          this.remoteBaseDir = remoteBaseDir;
          }

          }
           






          BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("test.txt"), "utf8")); 

          歡迎大家訪問我的個人網(wǎng)站 萌萌的IT人

          posted on 2014-04-10 18:42 一堣而安 閱讀(758) 評論(0)  編輯  收藏 所屬分類: java

          導航

          統(tǒng)計

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          收藏夾

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 汝阳县| 芮城县| 桐柏县| 无极县| 紫金县| 广丰县| 教育| 武鸣县| 凤翔县| 依兰县| 永新县| 高密市| 贵定县| 望谟县| 纳雍县| 萨嘎县| 汨罗市| 蒲江县| 监利县| 江阴市| 左权县| 高平市| 广南县| 西充县| 永和县| 渭南市| 嵊泗县| 乌海市| 布拖县| 临清市| 玉田县| 德兴市| 汶川县| 青田县| 吉首市| 皋兰县| 崇文区| 上栗县| 石首市| 阳西县| 水城县|