2013-02-18 48 views
7

का उपयोग कर फाइल निर्देशिका/फ़ाइलों को कैसे सूचीबद्ध करें मैं अपाचे कॉमन vfs, का उपयोग कर नया हूं, मैं सफलतापूर्वक सर्वर से कनेक्ट हूं, मैं पहले से ही दस्तावेज़ पढ़ता हूं लेकिन मैं इस कोड में फंस गया हूं। मैं निर्देशिका/फ़ाइलों को कैसे सूचीबद्ध कर सकता हूं?अपाचे कॉमन vfs

.... 
Session session = null; 
     FileSystemManager fsManager = null; 
     FileSystem fs = null; 
     try { 
      String host = "host_here"; 
      int port = 22; 

      String userStr = "user_here"; 
      char [] username = userStr.toCharArray(); 

      String passStr = "password_here"; 
      char [] password = passStr.toCharArray(); 

      session = SftpClientFactory.createConnection(host, port, username, password, null); 
      //session.connect(); 

      System.out.println("Connected to the server"); 

      FileSystemOptions opts = new FileSystemOptions(); 
      fsManager = VFS.getManager(); 
      FileObject file = fsManager.resolveFile("ftp://"+userStr+":"+passStr+"@"+host+"/home/", opts);  

      // .... whats next i do here? ..... 

     } catch (Exception e) { 
      session.disconnect(); 
      e.printStackTrace(); 
     } 
... 

कृपया मेरी मदद करो, धन्यवाद से पहले :)

उत्तर

6

फ़ाइलों की सूची FileObject#getChildren() विधि का उपयोग कर प्रदर्शित किया जा सकता।

FileSystemOptions opts = new FileSystemOptions(); 
fsManager = VFS.getManager(); 

// List all the files in that directory.Try to give the directory path 
FileObject localFileObject=fsManager.resolveFile("ftp://"+userStr+":"+passStr+"@"+host+"/home"); 
FileObject[] children = localFileObject.getChildren(); 
for (int i = 0; i < children.length; i++){ 
    System.out.println(children[ i ].getName().getBaseName()); 
} 
// End of List Files. 

FileObject file = fsManager.resolveFile("ftp://"+userStr+":"+passStr+"@"+host+"/home/", opts); 

मेरे सुझाव JSCH ढांचे SFTP के संचालन के लिए सबसे अच्छा है का उपयोग करने के लिए होगा। चूंकि इस Apache Common VFS ने मूल रूप से इस ढांचे का उपयोग किया था। जटिलता JSCH द्वारा बहुत कम हो जाएगी।

+0

धन्यवाद श्रीनिवास, अब मैं जेएससीएच का उपयोग करता हूं: डी लेकिन मुझे आश्चर्य है कि गंतव्य निर्देशिका में फ़ाइल (फ़ाइल नहीं) को कैसे सहेजना है? – fanjavaid

+0

क्या आप नई निर्देशिका बनाते हैं या निर्देशिका में पहले से ही कुछ फाइलों को सहेजते हैं? – SRy

+0

हां, उस तरह। यह संभव है? – fanjavaid