2010-12-27 10 views
6

का उपयोग कर फ़ाइल सामग्री पुनर्प्राप्त करना कॉमन्स FTPCLIENT का उपयोग कर मैं बस ftp सर्वर से फ़ाइल सामग्री चाहता हूं। मैं इसे एक अस्थायी फ़ाइल में लिखना नहीं चाहता हूं। क्या ऐसा करने का कोई तरीका है। fileoutputstream हमेशा स्थानीय फ़ाइल को इंगित करना चाहिए।एफ़टीपी क्लाइंट जावा

अग्रिम धन्यवाद।

+0

चेक [FTPClientDemonstration] (http://www.java2s.com/Code/Java/Network-Protocol/Ftpclientdemonstration.htm) –

उत्तर

3

.. आप retriveFile विधि के बजाय retrieveFilestream विधि का उपयोग करना चाहिए

FTPClient ftp = new FTPClient(); 
// configuration code for ftpclient port, server etc 
InputStream in = ftp.getretrieveFileStream("remoteFileName"); 
BufferedInputStream inbf = new BufferedInputStream(in); 
byte buffer[] = new byte[1024]; 
int readCount; 
byte result[] = null; 
int length = 0; 

while((readCount = inbf.read(buffer)) > 0) { 
     int preLength = length; 
     length += readCount; 
     byte temp[] = new byte[result.length]; 
     result = new byte[length]; 
     System.arraycopy(temp,0,result,0,temp.length); 
     System.arraycopy(buffer,0,result,preLength,readCount); 
} 
return result; 
0

धन्यवाद त्वरित उत्तर के लिए एक बहुत ..

और वह मेरे लिए काम किया है .. इस मैं क्या करने की कोशिश की है।

-

FTPclient fClient=new FTPclient(); 
    fClient.connect("server"); 
    Fclient.login("user","pwd"); 
     InputStream iStream=fClient.retrieveFileStream("file"); 
     BufferedInputStream bInf=new BufferedInputStream (iStream); 
     int bytesRead; 
    byte[] buffer=new byte[1024]; 
    String fileContent=null; 
    while((bytesRead=bInf.read(buffer))!=-1) 
    { 
     fileContent=new String(buffer,0,bytesRead); } 


    enter code here