吃花椒的喵酱丶 2023-03-22 17:09 采纳率: 100%
浏览 44
已结题

关于#线程#的问题,如何解决?

已知当前目录下有一个文件:string.txt,文件中有如下内容:(第一行为学生姓名,第二行为成绩)
张三 李四 王五 赵六 钱七
35 88 76 91 64
将以上内容从文件中读取出来,设计Student类,将上述内容解析为Student对象,并序列化到文件中。

  • 写回答

2条回答 默认 最新

  • 初见~ 2023-03-22 17:16
    关注

    解决方案:

    1.创建一个Student类,包含name和score两个属性,以及对应的getter和setter方法。

    2.使用FileReader和BufferedReader读取string.txt文件中的内容,按照空格分隔每一行的内容,将姓名和成绩分别存放到两个数组中。

    3.遍历姓名和成绩数组,创建对应的Student对象,并设置姓名和成绩属性。

    4.将每个Student对象序列化到文件中,可以使用ObjectOutputStream实现。
    参考代码如下:

    import java.io.*;
    
    public class Student implements Serializable {
        private String name;
        private int score;
    
        public Student(String name, int score) {
            this.name = name;
            this.score = score;
        }
    
        public String getName() {
            return name;
        }
    
        public int getScore() {
            return score;
        }
    
        public static void main(String[] args) {
            try {
                FileReader fileReader = new FileReader("string.txt");
                BufferedReader bufferedReader = new BufferedReader(fileReader);
    
                String nameLine = bufferedReader.readLine();
                String scoreLine = bufferedReader.readLine();
    
                String[] names = nameLine.split(" ");
                String[] scores = scoreLine.split(" ");
    
                ObjectOutputStream objectOutputStream = new ObjectOutputStream(new FileOutputStream("students.dat"));
    
                for (int i = 0; i < names.length; i++) {
                    Student student = new Student(names[i], Integer.parseInt(scores[i]));
                    objectOutputStream.writeObject(student);
                }
    
                bufferedReader.close();
                fileReader.close();
                objectOutputStream.close();
    
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月22日
  • 已采纳回答 3月22日
  • 创建了问题 3月22日

悬赏问题

  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?