请帮我添加原始文件的行数。
我试图写出符合指定条件的行,从文件A到文件B.没有问题,但是我需要将文件A的行数写入文件B的末尾,并且还要添加文件B的行数
程序在文件A中运行,如果满足条件,则行被写入文件B,但是我坚持在此之后添加行数。
在过去的2个小时里,我已经尝试了第二个BufferedWriter,第二个"尝试" block,bw.write(lines)等等,但没有任何效果。 System.out.println(行)工作得很好,所以我真的很困惑。
这是我的实际代码:
try (
BufferedReader bReader = new BufferedReader(new FileReader("fileA.txt"));
BufferedWriter bWriter = new BufferedWriter(new FileWriter("fileB.txt"));
LineNumberReader lineNumberReader = new LineNumberReader(new FileReader("fileA.txt"));
){
lineNumberReader.skip(Long.MAX_VALUE);
int lines = lineNumberReader.getLineNumber();
lineNumberReader.close();
String line;
while ((line = bReader.readLine()) != null){
String[] values = line.split(" ");
int time = Integer.parseInt(values[3]);
if (time < 16){
bWriter.write(values[0] + ' ' + values[1] + ' ' + values[2] + "\n");
}
}
}
答案 0 :(得分:1)
您可以在bWriter.write(""+lines);
循环后添加while
来完成此操作。
您必须使用bWriter.write(string)
代替bWriter.write(int)
。
bWriter.write(string)
- string
值按原样写入文件。
bWriter.write(int);
- 它不起作用,因为传递的int
转换为相应的char
,然后写入文件。与您的char
值对应的lines
必须是某些不可打印的字符,因此您无法看到它。