0

Java の入力として zip ファイルを受け取るアプリケーションがあります。私のアプリケーションはzipファイルを解凍し、zipファイル内に256文字を超えるファイル名を含むファイルがあります

解凍せずにzip内のファイルのファイル名を変更できますか

OS:リナックス/マック

4

2 に答える 2

5

OS自体よりも、使用されるファイルシステムの制限です。

これを変更するには、長いファイル名をサポートする別のファイル システムにドライブをフォーマットする必要があります。

数マイルの長さのファイル名が必要な理由は、私にはわかりません。しかし、私ができる唯一のアドバイスは、ファイル名を短くすることです。

::編集::

質問を更新してから。これが正しい答えです。:)

通常、あなたのアプローチは正しいです。ただし、zip に長いファイル名が含まれている場合は、それらを切り詰めることができます。(最初の 250 を取り、残りは無視します。ファイル名が重複している可能性があります。最後に数字を追加してください。残り 5 文字です) もう 1 つのオプションは、ユーザーに新しいファイル名を入力するように求めることです。

.etc の構造を知っている限り、zip ファイル自体を編集することは可能です。

Java 組み込み API で zip ファイルを編集できることを知りません。少し前ですが、Microsoft.NET 用の DotNetZip という名前のこのライブラリに出くわしました。これにより、すべての一般的な機能に加えて、zip ファイル内のエントリ、暗号化、パスワードなどを編集できます。(それは素晴らしいところで)

Java 用の同様のライブラリを探します。

于 2012-08-02T02:30:54.297 に答える
0

ユーザーが作成するファイルのファイル名を指定している場合は、この例外をスローしないように、短い名前を要求するだけでよいと思います。

しかし、これは読み取り元の既存のファイルの名前のようです。その場合、システム (ファイルまたはオペレーティング、どちらにしても制御できないもの) が有効なファイル名ではないと言っている場合、どのようにしてそれから読み取ることができると期待できますか?

于 2012-08-02T02:34:58.707 に答える