如果你希望每读取到5000行数据时,就生成一个新的文件,并在每个新文件中继续写入接下来的5000行,你可以稍微修改上面的代码。下面是如何做到这一点的步骤和示例代码:
1、初始化一个行计数器来跟踪已经读取的行数。
2、在循环中读取输入文件的每一行。
3、对于每一行,如果行计数器是5000的倍数,则关闭当前的输出文件流并打开一个新文件用于写入。
4、将处理过的行写入当前活动的输出文件。
更新行计数器。
5、重复步骤2-5,直到文件结束。
public static void main(String[] args) {
String inputFile = "input.txt"; // 输入文件路径
int linesPerFile = 5000; // 每5000行创建一个新文件
int lineCount = 0;
int fileCount = 1;
BufferedReader reader = null;
BufferedWriter writer = null;
try {
reader = new BufferedReader(new FileReader(inputFile));
// 创建第一个输出文件
writer = new BufferedWriter(new FileWriter("output_" + fileCount + ".txt"));
String line;
while ((line = reader.readLine()) != null) {
writer.write("Processed: " + line);
writer.newLine(); // 写入换行符
lineCount++;
if (lineCount % linesPerFile == 0) {
// 关闭当前文件并打开新文件
writer.close();
fileCount++;
writer = new BufferedWriter(new FileWriter("output_" + fileCount + ".txt"));
}
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (reader != null) {
reader.close();
}
if (writer != null) {
writer.close();
}
} catch (IOException ex) {
ex.printStackTrace();
}
}
}