首先,我要做的是通过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
答案 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
。