
C#で作成した、CSVをFTPでウェブサーバにアップロードするプログラムがあるのですが、
運用と共にCSVファイルのサイズと数が増えパフォーマンスが悪くなってきたので、
CSVをZIPで圧縮することにしました。
C:\data\read.csv を読み込んで同じ場所に write.zip として出力するという処理を、
System.IO.Compression 系の ZipArchive を使って、
using (var zipStream = File.Create(@"C:\data\write.zip")) {
using (var archive = new ZipArchive(zipStream, ZipArchiveMode.Create)) {
var entry = archive.CreateEntry("read.csv");
using (var sourceStream = File.OpenRead(@"C:\data\read.csv")) {
using (var entryStream = entry.Open()) {
sourceStream.CopyTo(entryStream);
}
}
}
}
のようにしてみたところ、C:\data\write.zip は作成されるのですが、
これを解凍すると write\read.csv となってしまいます。
(write フォルダができて、その下に元のCSVができる。)
解凍した際にフォルダを含まないように
(フォルダを含んだ圧縮ファイルにならないように)
圧縮することはできませんでしょうか?
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
write.zip自体に「write」フォルダが作成されているのでは無く、zipの展開に使っているソフトが「write」フォルダを生成しているように思えます。
使用しているソフトによっては「アーカイブ名でフォルダを作成」のようなオプションがある場合があるので、そのチェックを外すとフォルダは作られなくなるはずですよ。
zipファイル自体にフォルダが含まれているかどうかは、zipファイルをエクスプローラーなどで開くと確認できると思います。
早速回答をいただきまして、ありがとうございます。
解凍する側のソフトの設定だとは知りませんでした。
単にエクスプローラから「開く」としてもフォルダが作成されていたので、
フォルダ付きで圧縮されているものとばかり思っていましたが、
使用している Lhaplus の「フォルダを自動作成する」の指定を外すと、
このソフトを使ったときにフォルダができていなかっただけでなく、
エクスプローラの「開く」からでもファイルのみ取り出すことができました。
勉強になりました。
おかげさまで、プログラムを作成できそうです。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【ExcelVBA】一覧表の記載に従...
-
VBA 最新のフォルダ取得
-
ディレクトリ名変更してコピー...
-
Windows10でコマンドプロンプト...
-
エクセルのデータをメモ帳に貼...
-
ExcelのVBAでの複数階層からの...
-
同一フォルダ内の別ブックから...
-
あるフォルダの中にあるファイ...
-
Access VBA で フォルダ権限...
-
Excel VBA マクロ リストボックス
-
EXCELのセルにフォルダのパスの...
-
C ファイル出力で、フォルダが...
-
エクセル 一つ上の階層の別フ...
-
Debug フォルダは消していいの?
-
フォルダを開いて、閉じるのプ...
-
Excel VBA フォルダ存在チェッ...
-
エクセルのプロパティーでセキ...
-
エクセルvbaでdocuworksprinter...
-
特定のエクセルファイルが止ま...
-
ファイルをコピーできない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
会社のネットワーク上のファイ...
-
ファイル名と同名のフォルダを...
-
VBA フォルダ名に特定の文字を...
-
ExcelのVBAでフォルダ指定がで...
-
デスクトップの画像をhtmlに表...
-
VBA 最新のフォルダ取得
-
VBA フォルダの複数選択ができない
-
Excelのハイパーリンクについて...
-
パス名に2バイト文字(マルチバ...
-
【コマンドプロンプト】名前順...
-
【ExcelVBA】一覧表の記載に従...
-
サーバ内のフォルダ名と各フォ...
-
Wallpaper Engineでおすすめの...
-
ファイルとフォルダのどちらも...
-
Debug フォルダは消していいの?
-
Excelで指定したフォルダに保存...
-
VBプロジェクトでのフォルダ構...
-
GetAttrが原因?
-
Hitachi Embedded Workshop (HE...
おすすめ情報