разница в размере файла при копировании данных в ftp с помощью Java-программы - PullRequest
4 голосов
/ 03 ноября 2011

Я написал Java-программу для копирования формата файла (* .dmp) с нашего сервера на FTP-сервер.Программа работает нормально и копирует файл в каталог ftp.

Но единственная проблема - разница в размере файла после того, как я скопирую на FTP.Мой исходный размер файла составляет 2,47 ГБ.Когда я сравниваю размер файла в МБ, на FTP-сервере размер увеличивается на 16 МБ.Я сделал дважды, и это показывает то же самое поведение.Но когда я копирую вручную в каталог 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]);
    }

    */

      }
}

1 Ответ

9 голосов
/ 03 ноября 2011

Вам нужно позвонить setFileType( FTP.BINARY_FILE_TYPE) - в противном случае любой CR / LF / CR + LF переводится (поскольку режим ASCII в протоколе FTP является значением по умолчанию для используемой реализации) и, таким образом, изменяет содержимое файла./size.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...