改行コードを「LF」のまま圧縮するWindowsツール


ZYX

2009-05-21 20:17

いつもお世話になっております。

別プロジェクトより下記の相談を受けました。

『Windows環境でJava開発を実施しているが、本番環境はUnixになる。
 エディタを初め、開発ツールは、改行コードを「LF」で保存できるが、
 Windowsの圧縮ツールで圧縮(tar.gvやzip)すると、改行コードが
 「CF+LF」になってしまい、本番環境(Unix)で解凍すると、
 改行が乱れてしまう。
 「LF」のまま、圧縮できる方法は無いのか?』

色々とツールを探したのですが、エディタやFTPクライアントでは、
改行コードを「LF」に指定することはできますが、
圧縮ツールでは見つかりませんでした。

本番環境への移行方法が、顧客の指示で圧縮ファイルに限定されるそうです。

改行コードを指定できる圧縮ツールがあれば、教えてください。

よろしくお願い致します。

コメント

2009-05-21 20:33

自己レスです。

改行コードを打ち間違えました。
「CF+LF」・・・×
「CR+LF」・・・○

よろしくお願い致します。

Aladdin Expanderに圧縮機能があれば、解決しそうなのですが。

2009-05-21 20:45

逆になぜ改行コードが変わってしまうのかよく分かりませんが、とりあえず改行コードに LF を指定したテキストを Explzh で圧縮してみましたが、特に変化はありませんでした。

2009-05-21 20:45

圧縮・解凍で改行コードは変わらないのでは?

ためしにWindowsXP標準のzip圧縮をしてみたけど、改行コードは特に変化なしでした。

2009-05-21 21:34

圧縮で改行コードが崩れることはないでしょう。

FTPクライアントで「LF」に指定と書いてありますが、
圧縮ファイル転送するときはバイナリで転送してますよね?
(念のため確認)

あとはコピペしていて一部にCRLFが残っている事に気付かないとか。

ちなみにJavaの何を転送するときに困っているのですか?
(ソースなら改行コードどっちでもよかった気がしますし、JSPでもそんなに影響受けない気がするんですが)

2009-05-22 01:22

Unix上で vi 等でファイル開くと、

import java.io.*;^M

ってまってしまうのが嫌なんじゃ?

2009-05-22 01:27

自分も圧縮の際に改行コードを置き換えるなんて聞いたことないですね。
改行コードが置き換わるタイミングを勘違いしているだけだと思います。

2009-07-08 12:37

ちょうど似たような問題が起こりましたのでコメントします。

改行コードに「LF」と「CR+LF」が混在しているファイルを
 -WindowsXP上で圧縮し、
 -別マシーン(WindowsXP)で解凍すると、
 -改行コードがCR+LFに統一される。
 -変更日時などは変わりませんが、ファイルサイズは大きくなります。

一方、同じ圧縮ファイルをVista上で解凍しても、改行コードは変わりません。したがってXPの解凍アルゴリズムに不具合があると考えています。