信不信由你,但这是我第一次尝试构建一个ftp客户端来自动化程序中的进程。到目前为止,一切都很顺利。我有一个异常长行的文本文件。没有计算大约2或3个屏幕,不是智能手机屏幕,而是15.4“。问题是ftp上传但是所有线路都缩短了。在每行相同数量的字符后,它们似乎都被缩短了。我使用jscape。只看ftp的api,有一个setTransferBlockSize。我试过操作它,它似乎没有任何区别。这是我正在使用的基本方法:
public String Connect()
{
FtpException connected;
String message="";
try
{
// connect to FTP server
ftp.connect();
ftp.setReceiveBufferSize(BUFFER_SIZE);
ftp.setSendBufferSize(BUFFER_SIZE);
System.out.println("Connected to "+this.hostname+" ; Username = "+this.username);
ftp.setAscii();
//System.out.println("Present working directory(conn) - "+ftp.getDir());
}
catch(FtpException e)
{
connected=e;
e.printStackTrace();
message=connected.toString();
}
return message;
}
public void SetRemoteDirectory(String remoteLocation )
{
try
{
ftp.setDirUp();
ftp.setDir(remoteLocation);
System.out.println("Present working directory(remdir) - "+ftp.getDir());
//ftp.getDirListingAsString();
}
catch (FtpException e)
{
e.printStackTrace();
}
}
public void UploadDataset(String _localFile, String _remoteFile, int _blockSize)
{
try
{
System.out.println("Locale File: "+_localFile);
System.out.println("Remote File: "+_remoteFile);
ftp.setBlockTransferSize(_blockSize);
ftp.upload(_localFile, _remoteFile);
}
catch(FtpException e)
{
e.printStackTrace();
}
}//UploadDatset