JWorld@TW the best professional Java site in Taiwan
      註冊 | 登入 | 全文檢索 | 排行榜  

» JWorld@TW » Java SE 討論區 » IO/Streams  

按列印兼容模式列印這個話題 列印話題    把這個話題寄給朋友 寄給朋友   
reply to postflat modego to previous topicgo to next topic
本主題所含的標籤
無標籤
作者 請問JDK開發命令模式FTP工具,多檔上傳 [Re:genovalee]
genovalee





發文: 10
積分: 0
於 2011-06-01 21:17 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
沒人回答,只好自力救濟了,先判斷擷取的是檔案還是目錄,是目錄的話就新增目錄,再將目錄下的檔案做成檔案清單,然後將清單上的檔案上傳,所以傳入的參數如果是單一檔案則上傳該檔,如果是指一個目錄,則建立目錄後將子目錄下的檔案逐一上傳,原則上修改成下面這樣就可以了,還差判斷伺服器上是否已經有這個目錄,沒有的話才要新增,否則就只要CD進目錄就好這段還沒想到怎麼寫。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
                       try {
                           File file = new File(filename);
                           if(file.getName().equals(filename)) { // 指定檔案上傳
                              ftp.uploadFile(localdir + filename, filename);
                           }  
                           else { //指定路徑上傳
                             File[] files = file.listFiles(); 
                             ArrayList<File> fileList = new ArrayList<File>(); 
                             for(int i = 0; i < files.length; i++) { 
                                 if(files[i].isDirectory()){  //先判斷是否為目錄(本機端),是:建立目錄(遠端)
                                   ftp.createDirectory(files[i].getName()); 
                                      ftp.changeDirectory(ftp.getRemoteDirectory()+"/"+files[i].getName());
                                      //建立子目錄檔案清單
                                      File subfile = new File(filename+"\\"+files[i].getName());
                                      File[] subfiles = subfile.listFiles(); 
                                       ArrayList<File> subfileList = new ArrayList<File>(); 
                                       //上傳指定目錄下子目錄的檔案
                                       for(int j = 0; j < subfiles.length; j++) {
                                           if (subfiles[j].isFile()) {
                                               subfileList.add(subfiles[j]); 
                                           }
                                       }
                                       //上傳指定目錄下的檔案
                                       for(File sf: subfileList) {
                                           ftp.uploadFile(sf.toString(), sf.getName());              
                                       }
                                       ftp.changeToParentDirectory();
                                     }
                                 else { 
                                    if (files[i].isFile()) {
                                       fileList.add(files[i]); 
                                    }
                                  }
                             } 
              
                             // 列出文件 
                             for(File f: fileList) {
                               //上傳檔案
                                 ftp.uploadFile(f.toString(), f.getName());              
                             }
                           }                
                      } catch(ArrayIndexOutOfBoundsException e) { 
                            System.out.println("using: java FileDemo pathname"); 
                      }


reply to postreply to post
話題樹型展開
人氣 標題 作者 字數 發文時間
1238 請問JDK開發命令模式FTP工具,mput功能該怎麼寫? genovalee 97 2011-05-21 12:22
1055 Re:請問JDK開發命令模式FTP工具,mput功能該怎麼寫? genovalee 2143 2011-05-25 21:49
1008 請問JDK開發命令模式FTP工具,多檔上傳 genovalee 2855 2011-06-01 21:17
» JWorld@TW »  Java SE 討論區 » IO/Streams

reply to postflat modego to previous topicgo to next topic
  已讀文章
  新的文章
  被刪除的文章
Jump to the top of page

JWorld@TW 本站商標資訊

Powered by Powerful JuteForum® Version Jute 1.5.8