
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で質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) Fortranでの出力ファイル 2 2023/03/21 21:25
- その他(プログラミング・Web制作) データ解析ソフトRでのファイル入力read.csvがエラーになります 7 2022/03/27 22:11
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- その他(セキュリティ) PDFファイルのパスワード設定について 1 2022/06/25 10:10
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- その他(プログラミング・Web制作) pythonのこのエラーがわかりません 3 2022/11/16 14:54
- Excel(エクセル) Power Query で取り込むデータのパスを相対パスに出来ませんか? 3 2022/04/05 18:31
- その他(開発・運用・管理) Python CSVファイルについて 2 2023/01/04 21:19
- その他(プログラミング・Web制作) python 気象データの取得 2 2023/06/20 23:54
- PHP 値の取り出し方について教えて下さい。 1 2023/03/31 13:30
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
会社のネットワーク上のファイ...
-
VBA 最新のフォルダ取得
-
Excelで指定したフォルダに保存...
-
ファイル名と同名のフォルダを...
-
eclipseを日本語版ってあるんで...
-
【コマンドプロンプト】名前順...
-
フォルダを開いて、閉じるのプ...
-
フォルダにリンクを貼りたい
-
一部のフォルダのみ複製(コピ...
-
デスクトップの画像をhtmlに表...
-
Excel VBA マクロ フォルダ名を...
-
ファイル保存時のダイアログ表...
-
VBA フォルダ名に特定の文字を...
-
excel VBA Dirにて検索したフォ...
-
hspでファイル削除命令
-
条件に合うフォルダが存在する...
-
マクロの相対参照について
-
outlook マクロが終了しません。
-
perlでフォルダ作成
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
会社のネットワーク上のファイ...
-
パス名に2バイト文字(マルチバ...
-
デスクトップの画像をhtmlに表...
-
【マクロ】ファイル名の日付に...
-
C ファイル出力で、フォルダが...
-
ファイル名と同名のフォルダを...
-
Excelのハイパーリンクについて...
-
VBA 最新のフォルダ取得
-
Excelで指定したフォルダに保存...
-
VBAでファイル名を指定して保存...
-
Access VBA で フォルダ権限...
-
サーバ内のフォルダ名と各フォ...
-
excelマクロ 冒頭3文字が一致す...
-
VBA フォルダ名に特定の文字を...
-
カレントフォルダって?
-
Excel VBA マクロ フォルダ名を...
-
VBA フォルダの複数選択ができない
-
ExcelVBAでフォルダへのハイパ...
-
ExcelのVBAでフォルダ指定がで...
おすすめ情報