使用Java写入文件
问题描述:
我想第一次使用列表,我有一个txt文件,我在其中搜索关于字符串,然后我必须在新文件中写入搜索结果。使用Java写入文件
我的任务是检索输入文件的两个检查线路输出文件。
这是我的代码:
import java.io.*;
import java.util.Scanner;
public class TestingReport1 {
public static void main(String[] args) throws Exception {
File test = new File("E:\\test2.txt");
File Result = new File("E:\\Result.txt");
Scanner scanner = new Scanner(test);
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
if(line.contains("Visit Count")|| line.contains("Title")) {
System.out.println(line);
}
}
}
}
我应该怎么办?
编辑:如何将此代码的结果写入文本文件? EDIT2:
现在使用下面的代码:
public static void main(String[] args) throws Exception {
// TODO code application logic here
File test = new File("E:\\test2.txt");
FileOutputStream Result = new FileOutputStream("E:\\Result.txt");
Scanner scanner = new Scanner(test);
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
if(line.contains("Visit Count")|| line.contains("Title")) {
System.out.println(line);
Files.write(Paths.get("E:\\Result.txt"), line.getBytes(), StandardOpenOption.APPEND);
}
}
}
我得到的结果早在来访次数:1,我想这多少回为整数,这可能吗?
答
看一看Files
,尤其是readAllLines
以及write
。筛选这两个方法调用之间的输入,就是这样:
// Read.
List<String> input = Files.readAllLines(Paths.get("E:\\test2.txt"));
// Filter.
String output = input.stream()
.filter(line -> line.matches("^(Title.*|Visit Count.*)"))
.collect(Collectors.joining("\n"));
// Write.
Files.write(Paths.get("E:\\Result.txt"), output.getBytes());
我的意思是看起来不错? if(line.contains(“Visit Count”)|| line.contains(“Title”)){System.out.println(line);}' – 3kings
Title“Use Lists in Java“的确具有误导性和不明确性 - 它也可以引用Java中的List类。尽量让你的标题具体。 –
@AleksandarStefanović我想用列表在另一个文件中写回两行! –