Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用java程序将数据复制到ftp时的文件大小差异_Java_Ftp - Fatal编程技术网

使用java程序将数据复制到ftp时的文件大小差异

使用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

我编写了一个java程序,将文件(*.dmp)格式从服务器复制到FTP服务器。程序运行正常,正在将文件复制到ftp目录中

但唯一的问题是,在我复制到FTP后,文件大小有点不同。我的源文件大小是2.47 GB。当我比较文件大小(以MB为单位)时,在FTP服务器中,文件大小增加了16 MB。我做了两次,结果它表现出同样的行为。但是当我手动复制到FTP目录(使用我们的java程序)时,文件大小是精确的

我做错什么了吗。下面是我的java程序

    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模式是所用实现的默认模式),从而更改文件内容/大小。

请看这一点。大多数情况下,更多地使用二进制传输!