FTPClient
Apache Commonsとこのコードを使用して単純なテキスト ファイルをアップロードしようとすると、次のようになります。
FTPClient ftp = new FTPClient();
int reply;
// connect
try {
ftp.connect(serverAdd);
ftp.login(username,password);
reply = ftp.getReplyCode();
if(FTPReply.isPositiveCompletion(reply)){
System.out.println("Connected Success..");
// upload file
try {
String fileDir = "testfile.txt";
FileInputStream in = null;
in = new FileInputStream(fileDir);
ftp.storeFile(fileDir,in);
System.out.println("File upload complete..");
}catch(IOException e){
System.out.println(e);
}
ftp.disconnect();
System.out.println("Disconnected..");
}else {
System.out.println("Connection Failed..");
ftp.disconnect();
}
} catch (SocketException ex) {
ex.printStackTrace();
} catch (IOException ex) {
ex.printStackTrace();
}
FTP サーバーのルートにファイルが作成されますが、空です。どうしたの?PDF ファイルをアップロードするときに、ftp モードを BINARY に変更しようとしました。しかし、ファイルのサイズも 0 です。
ftp.setFileType(FTP.BINARY_FILE_TYPE);
また、たくさんの txt ファイルをアップロードしたいだけなので、デフォルトの ascii モードで問題ないはずです。