gpt4 book ai didi

java - 如何在具有 n 行的 xml 文件中拆分 100 行并使用 java 将其添加到子文件

转载 作者:行者123 更新时间:2023-11-30 08:04:03 25 4
gpt4 key购买 nike

我是编程新手,请帮我解决这个问题。我正在尝试为程序设计代码

我有一个包含 X 行的 xml 文件,我需要将该文件的前 100 行放到另一个子文件中,然后放在另一个子文件旁边,依此类推直到最后。命名约定应该像 file1, file2,...

输入文件将有 5000、10000 甚至更多行

我需要使用 dom 解析器的这种情况的动态代码

我为一个包含固定行的文件设计了一个代码。

import java.io.*;  
public class splitting
{
public static void main(String args[])throws Exception
{
int count = 0;
BufferedReader br = null;
FileWriter fileWriter1 = new FileWriter("C:\\senderoutput1.txt");
FileWriter fileWriter2 = new FileWriter("C:\\senderoutput2.txt");
FileWriter fileWriter3 = new FileWriter("C:\\senderoutput3.txt");
FileWriter fileWriter4 = new FileWriter("C:\\senderoutput4.txt");

try {
String currentLine;
br = new BufferedReader(new FileReader("C:\\senderinput.txt"));
while ((currentLine = br.readLine()) != null)
{
count++;

if (count <= 100)
{

fileWriter1.write(currentLine + System.getProperty("line.separator", "\r\n"));

} else if (count > 100 && count <= 200)
{
fileWriter2.write(currentLine + System.getProperty("line.separator", "\r\n"));
}else if (count > 200 && count <= 300)
{
fileWriter3.write(currentLine + System.getProperty("line.separator", "\r\n"));
}else if (count > 300 && count <= 400)
{
fileWriter4.write(currentLine + System.getProperty("line.separator", "\r\n"));
}
}
} finally
{
if (br != null)
{
br.close();
}
fileWriter1.close();
fileWriter2.close();
fileWriter3.close();
fileWriter4.close();
System.out.println("File Splitting was successful!!!");
}
}
}

此代码适用于具有 400 行的文件。

n行怎么办?

最佳答案

你可以做这样的事情来实现你想要实现的目标:

BufferedReader br = null;
FileWriter fileWriter = new FileWriter("C:\\senderoutput1.txt");
try {
String currentLine = null;
br = new BufferedReader(new FileReader("C:\\senderinput.txt"));
while ((currentLine = br.readLine()) != null) {
/* Increment Counter */
++count;
/* Write Text To File */
fileWriter.write(currentLine + System.getProperty("line.separator", "\r\n"));
/* Check Split Condition */
if (count % 100 == 0) {
/* Close Already Open File */
fileWriter.close();
/* Point To New File */
fileWriter = new FileWriter("C:\\senderoutput" + (count/100 + 1) + ".txt");
}
}
/* Close Last Open File */
fileWriter.close();
} finally {
if (br != null) {
br.close();
}
System.out.println("File Splitting Completed Successfully!!!");
}

请注意,这只是给您一个想法,您可以根据需要进行修改。

关于java - 如何在具有 n 行的 xml 文件中拆分 100 行并使用 java 将其添加到子文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35943400/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com