• 締切済み

LinuxOSでのzip圧縮について

お疲れ様です。 現在、LinuxOS環境でプログラムを構築しており、複数ファイルをzip圧縮してsftpでWindowsOS環境に転送しています。 ただWindowsOS環境で解答する際に階層化されて困っています。 開発言語は以下の通りです。 Linux環境はJava Windows環境は.net そもそもLinuxとWindowsで互換性がないのかすらわからない状態です。 ご存じの方や実際に同様の事象があった方がおられましたら教えてください。

みんなの回答

  • mk48a
  • ベストアンサー率56% (1133/2007)
回答No.4

すみません、リンクを添付しわすれて投稿してしまいました。 http://www.atmarkit.co.jp/ait/articles/1502/03/news080.html

  • mk48a
  • ベストアンサー率56% (1133/2007)
回答No.3

あまり詳しくないのですが、 以下のような方法で、出力フォルダを作成せずに.zipファイルの位置にファイルを書き出してみては。 それでも階層化されているようであれば、Linux側で階層化されている可能性があるので、圧縮時のJAVAのソースを補足した方が良いかも。

  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.2

>ただWindowsOS環境で解答する際に階層化されて困っています。 単にJavaで組まれたプログラムが、そのように解凍されるzipを作る処理になってるというだけでは?(new ZipEntry("aaa/bbb.txt")みたいなエントリーつくってるというオチのような) .NETで構築されたプログラムが期待するzipを作ってるかどうかの確認はされてるのでしょうか?

  • vaidurya
  • ベストアンサー率45% (2714/5983)
回答No.1

まず、zipを理解する必要があると思います。 つまりWindowsとLinuxでのzip実装についての書類から unfreezeに関する記述をすべて探してみましょう。 それで答えが見つからないとしたら まず、解凍という概念自体から間違っている可能性があります。 まぁ、解凍はLHA,LHarc特有の表現で 普通はdecompressとかinflateといった表現を使いますし それを解凍と表現している人は、ほとんどの場合 ちゃんとzipなどの説明書を読んでいないんだと思いますよ。 こういったアーカイバーは、階層構造を維持するオプションがあるのがあたりまえですし ファイルシステム依存の実装の違いがある場合もあります。 独自実装のzipを両方で使うのでなければ 説明書を読まないで解決方法を探す事自体が間違いです。 バグが潜在する要因の一つが、理解していないものを使うことにあります。

goodjob5
質問者

お礼

ご回答頂きありがとうございます。 おっしゃる通り理解せずに使っている節はあります。 ただ、既存のWindows環境のシステムの受け口がzipファイルのみ許容しており、現在構築しているLinux環境のシステムからzip圧縮して転送せざるを得ない状況になっています。 時間もあまりないのですが、調べてみたいと思います。

関連するQ&A