1
Perlで約5 MBのCSVファイルを圧縮しようとしました。以下は私の郵便番号です。 ファイルは圧縮されていますが、Windowsのunzipユーティリティでファイルを開くと、CSVファイルの最後の行が見つからないことがわかりました。何が問題なの?私はchuncksize
とdesiredCompressionLevel
を変更しようとしましたが、これは役に立たなかった。perlでファイルを圧縮すると、最後の行が切り捨てられます
sub zip_util{
my $directory = shift;
$zip = Archive::Zip->new();
$zip->setChunkSize(65536);
# Add a file from disk
my $file1=File::Spec->catfile($directory, 'file.csv');
my $file2=File::Spec->catfile($directory, 'file2.csv');
my $file3=File::Spec->catfile($directory, 'fil3.csv');
$zip->addFile($file1,'file1.csv')->desiredCompressionLevel(6);
$zip->addFile($file2,'file2.csv')->desiredCompressionLevel(6);
$zip->addFile($fil3,'file3.csv')->desiredCompressionLevel(6);
# Save the Zip file
my $zipped_file=File::Spec->catfile($directory,'files.zip');
unless ($zip->writeToFileNamed($zipped_file) == AZ_OK) {
print LOG ": Zip Creation error\n";
}
[Archive :: Zip'](https://metacpan.org/module/Archive::Zip)に問題がある可能性があります。ただし、元のCSVファイルと生成されたアーカイブをアップロードしてください。 –