- - PR -
ファイルの削除について
| 投稿者 | 投稿内容 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2002-11-22 18:12
こんばんわ。みーちくと申します。
また、皆様のご意見をお聞きしたいのですが。 宜しくお願い致します。 あるディレクトリに入っている、CSVファイルをDBに登録するプログラムを作成しております。登録が問題なかったら、違うディレクトリ(今日の日付のディレクトリ)を作成して、CSVファイルをバックアップとり、バックアップ取れたら、ファイルを削除したいのですが、この処理は、JAVAでは可能なのでしょうか? それとも、外部のコマンド(シェル等)を呼び出して処理した方が早いのでしょうか? 【開発環境】 RedHat7.1/apache1.3.26/tomcat3.2.3/ant1.4.1/jdk1.3.1 【ディレクトリ】 /home/test/data/001.csv /home/test/data/002.csv ←複数存在する /home/test/data_backup/今日の日付ディレクトリ/001.csv /home/test/data_backup/今日の日付ディレクトリ/002.csv 宜しくお願い致します。 | ||||||||
|
投稿日時: 2002-11-22 20:29
可能かどうかで言えば可能です。
何も考えずにプログラムを組み立てますと, 1.指定したディレクトリ以下のCSVファイルの一覧を取得 2.取得したCSVのデータをDBに登録 3.バックアップディレクトリにコピー 4.元のファイルを削除 一覧を取得した後は,2〜4の繰り返しで済むのではないでしょうか。 | ||||||||
|
投稿日時: 2002-11-25 10:13
tarnwoさん
返信ありがとうございます。
1,2,はすでに作成していて、今動いています。 4もプログラム作成し、テストした結果良好でした。 3のコピーがよくわからないのですが。 StringBufferを使用して1行ずつ書き出して、違うファイルにするという事なんでしょうか? | ||||||||
|
投稿日時: 2002-11-25 10:15
1.で取得したオブジェクトを別ファイルで吐き出せば良いのでは?
キャッシュしていればの話ですが。 | ||||||||
|
投稿日時: 2002-11-25 11:33
ponさん
> 1.で取得したオブジェクトを別ファイルで吐き出せば良いのでは? 1.でとってるのはファイルのリストですよね? CSVそのものではないので吐き出したところで期待したものとは違うでしょう。 みーちくさん > 3のコピーがよくわからないのですが。 > StringBufferを使用して1行ずつ書き出して、違うファイルにするという事なんでしょうか? ファイルのコピー自体はいろいろなところで見かけるのではないでしょうか? http://www.google.co.jp/search?q=Java+%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB+%E3%82%B3%E3%83%94%E3%83%BC&ie=UTF-8&oe=UTF-8&hl=ja&lr= | ||||||||
|
投稿日時: 2002-11-25 11:58
>> 1.で取得したオブジェクトを別ファイルで吐き出せば良いのでは?
>1.でとってるのはファイルのリストですよね? >CSVそのものではないので吐き出したところで期待したものとは違うでしょう。 おー。失礼しました。2ですね。 というか2にいたるどこかでできると思いますが。 | ||||||||
|
投稿日時: 2002-11-25 12:09
3.バックアップディレクトリにコピー
4.元のファイルを削除 はjava.io.File#renameToでできそうですが。 File orig = new File("/home/test/date/001.csv"); File backup = new File("/home/test/data_backup/" + DATE_STRING + "/001.csv"); orig.renameTo(backup); | ||||||||
|
投稿日時: 2002-11-25 13:23
ponさん、まりりさん、t-wataさん
返信ありがとうございます。 いろいろやり方があるんですね。 t-wataさんのrenameTo()は簡単そうですね。 ちょっとやってみたいと思います。
ファイルのコピーとか削除はJAVAでも出来ることがわかりました。 実際、こういう処理はJAVAでやった方が良いのでしょうか? 私自身、シェルは書いたことがないのですが、そちらの方が簡単なのでしょうか? | ||||||||
