Java扫描文本文件

时间:2014-03-06 22:12:51

标签: java java-io

首先,我要做的是通过Scanner返回一个值,该值涉及File文档而不传递给另一个单词。这是我的源代码:

public static void deleteLine() throws IOException{
    File mainFile = new File("H:\\EcD\\data.txt");
    File tempFile = new File("H:\\EcD\\tempFile");
    Scanner input = new Scanner(mainFile);
    String lineNumberToDelete = "4";
    while(input.hasNextLine()){
        if(!input.next().startsWith(lineNumberToDelete))
            System.out.println(input.nextLine());
    }
    input.close();      
}

我没有使用任何未声明的变量,所以我认为可以写下这个方法。实际上我的主要目的是从文本字段中删除一个特定的行:

1) Line 1 Code
2) Line 2 Code
3) Line 3 Code
4) Line 4 Code
5) Line 5 Code

1 个答案:

答案 0 :(得分:2)

将其更改为此,您的问题将得到解决。

public static void deleteLine() throws IOException{
    File mainFile = new File("H:\\EcD\\data.txt");
    File tempFile = new File("H:\\EcD\\tempFile");
    Scanner input = new Scanner(mainFile);
    String lineNumberToDelete = "4";
    while(input.hasNextLine()){
        String line = input.nextLine();
        if(!line.startsWith(lineNumberToDelete))
            System.out.println(line);
    }
    input.close();

}

然后用写入目标文件替换System.out.println