0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

アーカイバコマンドの代替としての StreamRelay.jar のサポートプログラム

Last updated at Posted at 2017-06-05

複数のファイルをまとめるようなアーカイバとなると、(ファイルごとにストリームとなるので)複数のストリームに対応する必要がある。
よって、StreamRelay.jar とは相性が悪い。
StreamRelay.jar 内部にまとめてしまってよかったのか知れないけど、サポートプログラムとして独立させることにした。

ZipStream.class

StreamRelay.jar のあるディレクトリの下の「ZipStream」というディレクトリに存在していると思う

java.exe ZipStream
でヘルプが出る

java.exe ZipStream list "zipfile"
で zip ファイル内部のエントリー(zipに格納されたファイル)の一覧が表示される

java.exe ZipStream read "zipfile" "file1" > "file2"
「zipfile」というzipファイル内部の「file1」というエントリー(ファイル名)の内容を読み出して、(シェルのリダイレクト機能で)「file2」というファイルとして保存する

例えば "file1" が「..\filename」のような通常の zip 展開ツールがエラーとなるような場合でも内容を確認できるよ。
(ZipStream.class はzipファイルに格納されたファイル名ではなくて、ただのエントリ名(文字列)として認識しているため)

type "file3" | java.exe ZipStream write "zipfile" "file4"
または
java.exe ZipStream write "zipfile" "file4" < "file"

とすると、ファイル「file3」の内容を「zipfile」というzipファイル内の「file4」というエントリで圧縮保存するよ。

ArchiveStream.jar

ZipStream.classを拡張し、いろんな圧縮アーカイバに対応

java.exe -jar ArchiveStream.jar

ArchiveStream.bat

ArchiveStream.bat
でヘルプが出る

基本的には、ZipStream.class と使い方は一緒だけど、アルゴリズム名を指定するオプションがあるという点だけが異なる

java.exe -jar ArchiveStream.jar "arctype" list "ArcFile" java.exe -jar ArchiveStream.jar "arctype" read "ArcFile" "File" > "File" type "File" | java.exe -jar ArchiveStream.jar "arctype" write "ArcFile" "File" java.exe -jar ArchiveStream.jar "arctype" write "ArcFile" "File" < "File"

「arctype」に指定てきるオプションは

  • cpio
  • ar
  • tar
  • zip
  • arj
  • 7z
  • lha

圧縮コマンドの代替としての StreamRelay.jar


リンク


目次へ戻る

目次というか最初の一歩

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?