gpt4 book ai didi

java - 从文本文件读取和分析数据 - 大问题

转载 作者:行者123 更新时间:2023-12-01 11:44:37 24 4
gpt4 key购买 nike

这是我到目前为止所拥有的:

public class test1 {

public static void main(String args[]) throws IOException {
BufferedReader br = null;
BufferedWriter bw = null;


br = new BufferedReader(new FileReader("IRStudents.txt"));
bw = new BufferedWriter(new FileWriter("File_2.txt"));
String line = br.readLine();



for (int i = 1; i <= 10 && line != null; i++) {
bw.write(line);
bw.newLine();
bw.write("- - - - - - - - - - -");
bw.newLine();

line = br.readLine();
}


System.out.println("Lines are Successfully copied!");

br.close();

bw.close();
}

}

现在文本被写入一个新的文本文档中。格式是这样的:(用户ID名称)

25987 Alan
- - - - - -
25954 Betty
- - - - - -

等等

现在我得到了另一个包含 UserID 和 Marks 的文件,其布局如下:

25220 68.7
25987 51.5
25954 22.2

现在我想为 Java 提供一种方法来分析 UserID 并将标记与特定名称以及与其关联的标记合并。例如,这就是最后的样子。

25987 Alan
Marks: 51.5
- - - - - -
25954 Betty
Marks: 22.2
- - - - - -

现在我知道这是一个很多问题,并且不期望有完整的代码解决方案,但我是一个非常新的 java 程序员,并且会感谢建议以及我应该采取的方向。

谢谢。

最佳答案

执行此操作的方法(使用小数据集)是存储一个文件的数据并合并数据,同时读取另一个文件,如下面的代码所示(毕竟您确实获得了完整的解决方案:))哦,请注意,如果您要使用巨大的数据集,您可能会想使用数据库。我的代码不会列出没有标记的用户(尽管您可以很容易地解决这个问题)

代码:(此代码假设有一个名为 IRStudents.txt 的文件和一个名为 Marks.txt 的文件)

public static void main(String[] args) throws IOException{
//declare reader and writer
BufferedReader reader = null;
PrintWriter writer = null;

//hash map to store the data of the first file
Map<String, String> names = new HashMap<String, String>();

//read the first file and store the data
reader = new BufferedReader(new InputStreamReader(new FileInputStream(new File("IRStudents.txt"))));
String line;
String[] arg;
while((line = reader.readLine()) != null){
if(!line.startsWith("-")){
arg = line.split(" ");
names.put(arg[0], arg[1]);
}
}
reader.close();

//read the second file, merge the data and output the data to the out file
writer = new PrintWriter(new FileOutputStream(new File("File_2.txt")));
reader = new BufferedReader(new InputStreamReader(new FileInputStream(new File("Marks.txt"))));
while((line = reader.readLine()) != null){
arg = line.split(" ");
writer.println(arg[0] + " " + names.get(arg[0]));
writer.println("Marks: " + arg[1]);
writer.println("- - - - - -");
}
writer.flush();
writer.close();
reader.close();
}

希望这有帮助:)

关于java - 从文本文件读取和分析数据 - 大问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29261636/

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