使用java程序将数据复制到ftp时的文件大小差异
我编写了一个java程序,将文件(*.dmp)格式从服务器复制到FTP服务器。程序运行正常,正在将文件复制到ftp目录中 但唯一的问题是,在我复制到FTP后,文件大小有点不同。我的源文件大小是2.47 GB。当我比较文件大小(以MB为单位)时,在FTP服务器中,文件大小增加了16 MB。我做了两次,结果它表现出同样的行为。但是当我手动复制到FTP目录(使用我们的java程序)时,文件大小是精确的 我做错什么了吗。下面是我的java程序使用java程序将数据复制到ftp时的文件大小差异,java,ftp,Java,Ftp,我编写了一个java程序,将文件(*.dmp)格式从服务器复制到FTP服务器。程序运行正常,正在将文件复制到ftp目录中 但唯一的问题是,在我复制到FTP后,文件大小有点不同。我的源文件大小是2.47 GB。当我比较文件大小(以MB为单位)时,在FTP服务器中,文件大小增加了16 MB。我做了两次,结果它表现出同样的行为。但是当我手动复制到FTP目录(使用我们的java程序)时,文件大小是精确的 我做错什么了吗。下面是我的java程序 package dev.test; import
package dev.test;
import java.io.*;
import java.io.IOException;
import java.net.SocketException;
import org.apache.commons.net.ftp.*;
public class FTPTest {
public static void main(String a[]) throws SocketException, IOException
{
FTPClient f= new FTPClient();
f.connect("10.100.8.74");
boolean flag =f.login("dspetrofac\\admin","admin");
System.out.println(" is connected ::"+flag);
// change working directory of FTP Server
boolean isDirectoryChanged =f.changeWorkingDirectory("IT/Documentum Team/");
System.out.println(" Is the working directory Changed :: "+isDirectoryChanged);
// to copy from source to FTP
InputStream inputFile = new FileInputStream(new File("\\\\dmt500aaashjuae\\testDumpAutomation\\testSiteDump.dmp"));
boolean isSaved = f.storeFile("testSiteDump.dmp", inputFile);
System.out.println("is File Saved in FTP Server :: "+isSaved);
/*
String list[] =f.listNames();
for(int i=0;i<list.length;i++)
{
System.out.println(" file no"+i+":: "+list[i]);
}
*/
}
}
包开发测试;
导入java.io.*;
导入java.io.IOException;
导入java.net.SocketException;
导入org.apache.commons.net.ftp.*;
公共类FTPTest{
publicstaticvoidmain(字符串a[])抛出SocketException、IOException
{
FTPClient f=新的FTPClient();
f、 连接(“10.100.8.74”);
布尔标志=f.login(“dspetrofac\\admin”、“admin”);
System.out.println(“已连接::”+标志);
//更改FTP服务器的工作目录
布尔值isDirectoryChanged=f.changeWorkingDirectory(“IT/Documentum团队/”);
System.out.println(“工作目录是否已更改::”+isDirectoryChanged);
//从源文件复制到FTP
InputStream inputFile=新文件InputStream(新文件(“\\\\dmt500aaashjuae\\testDumpAutomation\\testSiteDump.dmp”);
布尔值isSaved=f.storeFile(“testSiteDump.dmp”,inputFile);
System.out.println(“文件保存在FTP服务器中::”+isSaved);
/*
字符串列表[]=f.listNames();
对于(int i=0;i您需要调用-否则任何CR/LF/CR+LF都会被转换(由于FTP协议中的ASCII模式是所用实现的默认模式),从而更改文件内容/大小。请看这一点。大多数情况下,更多地使用二进制传输!