こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

-広告-

締切り済みの質問

LinuxOSでのzip圧縮について

お疲れ様です。
現在、LinuxOS環境でプログラムを構築しており、複数ファイルをzip圧縮してsftpでWindowsOS環境に転送しています。
ただWindowsOS環境で解答する際に階層化されて困っています。
開発言語は以下の通りです。
Linux環境はJava
Windows環境は.net

そもそもLinuxとWindowsで互換性がないのかすらわからない状態です。
ご存じの方や実際に同様の事象があった方がおられましたら教えてください。

投稿日時 - 2015-12-04 22:03:57

QNo.9090746

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

-広告-
-広告-

回答(4)

ANo.4

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

投稿日時 - 2015-12-05 05:04:38

ANo.3

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

投稿日時 - 2015-12-05 04:59:28

ANo.2

>ただWindowsOS環境で解答する際に階層化されて困っています。

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

投稿日時 - 2015-12-05 03:23:29

ANo.1

まず、zipを理解する必要があると思います。

つまりWindowsとLinuxでのzip実装についての書類から
unfreezeに関する記述をすべて探してみましょう。

それで答えが見つからないとしたら
まず、解凍という概念自体から間違っている可能性があります。

まぁ、解凍はLHA,LHarc特有の表現で
普通はdecompressとかinflateといった表現を使いますし

それを解凍と表現している人は、ほとんどの場合
ちゃんとzipなどの説明書を読んでいないんだと思いますよ。


こういったアーカイバーは、階層構造を維持するオプションがあるのがあたりまえですし
ファイルシステム依存の実装の違いがある場合もあります。
独自実装のzipを両方で使うのでなければ
説明書を読まないで解決方法を探す事自体が間違いです。

バグが潜在する要因の一つが、理解していないものを使うことにあります。

投稿日時 - 2015-12-04 22:43:01

お礼

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

投稿日時 - 2015-12-05 00:37:44

-広告-
-広告-
-広告-
-広告-