2017-03-10 20 views
1

以下のコードを使用してサーバーに接続し、ファイルを送信しています。問題は、ファイルが時間とともに大きな得ることができますので、私がしたいことです:古いデータを消去せずにFTPサーバー内のファイルにコンテンツを追加しますか?

  1. にサーバーに私は、ファイルに書き込み、次回の「ファイル」という名前のファイルを送信する「ファイル」I古いコンテンツを消去して新しいデータを書きます。

  2. 同じ名前の「ファイル」が古いものと同じですが、新しいコンテンツが(古いコンテンツが上書きされているため)サーバーに送信されるようにしたいとします。

は以下のなんとかです:私は、代わりにそれは新しいファイルに置き換えられての送信をしていたものと同じ名前を持つファイル「ファイル」を取得することができ、新しいファイルがで追加されます両方の内容を結合した古いファイルの終わり?

これは、私は、サーバーにファイルを送信しています方法です:

StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); 

StrictMode.setThreadPolicy(policy); 
FTPClient con = null; 
FileInputStream fileIn= null; 
//Find the directory for the SD Card using the API 
File sdcard = Environment.getExternalStorageDirectory(); 

//Get the text file 
File file = new File(sdcard,"file"); 

try { 
    con = new FTPClient(); 
    con.connect("****************", **); 
    showServerReply(con); 

    if (con.login("***********", "*******")) { 
     con.enterLocalPassiveMode(); 
     con.setFileType(FTP.BINARY_FILE_TYPE); 
     String data=String.valueOf(Environment.getExternalStorageDirectory())+"/file"; 
     fileIn = new FileInputStream(new File(data)); 

     boolean result = con.storeFile("/"+android.os.Build.MODEL+".txt", fileIn); 
     fileIn.close(); 
     con.logout(); 
     con.disconnect(); 
    } 
} catch (Exception e) { 
    e.printStackTrace(); 
} 

答えて

1

だけappendFileであなたのstoreFileコールを交換してください。

boolean result = con.appendFile("/"+android.os.Build.MODEL+".txt", fileIn); 
+0

ありがとう、私はこれを試してみて、それは完全に動作します。 – student93

関連する問題