0

今日、私は Windows プラットフォームで Java を使用してファイル内のデータを変更および削除するアルゴリズムを試していました。

1 番目: 一時ファイルを作成します 2 番目: originalFile 内に必要なデータを文字列と一時ファイルに書き込みます 3 番目: 一時ファイルの名前を originalFile に変更します。

コード:

import java.io.File;
import java.io.IOException;
import java.io.FileWriter;
import java.util.Scanner;
import java.io.FileNotFoundException;

public class testing{
    private static String temp;
    public static void main(String [] args)
    {
        try{
        File tempFile = File.createTempFile("haha\\temporary", ".txt");         //create a temporary file in haha folder
        FileWriter writer = new FileWriter(tempFile); 
        Scanner input = new Scanner(new File("haha\\testing.txt")); //get input from testing.txt
        temp = input.next();
        writer.write(temp);
        writer.close();
        File origFile = new File("haha\\testing.txt");
        tempFile.renameTo(origFile);
        }
        catch ( FileNotFoundException fileNotFoundException ){}
        catch(IOException ioException){}
    }
}

上記のコードでは、編集する textFile は、haha別のフォルダー内にあるフォルダー名の中にありtesting.classます。

4

2 に答える 2

0

変更を行うには Scanner オブジェクトを閉じる必要があります。基盤となるオペレーティング システムには、解放する必要があるファイル ロックがあります。

     input.close();
     File origFile = new File("haha\\testing.txt");         
于 2013-01-05T19:09:54.180 に答える
0

ファイルが同じディレクトリにある場合は、パスを File コンストラクターに渡す必要はありません。

Scanner input = new Scanner(new File("testing.txt"));

これでうまくいくはずです。

于 2013-01-05T18:49:43.370 に答える