java工厂模式将信息存入文件

我们在学习java文件读写时刚开始对于工厂模式的存储可能会比较模糊,例如存入学生信息系统每一个成员都有很多信息分支而,在c语言中我们可以以结构体链表进行操作但java未提供我们这样的方法去将一整个单元存入文件之中,这时我们应采取的方法以算法解决这样的问题。我们在存储时可以在每一个成员的不同信息中以字符或空格隔开,java中再读取文件时是一整行读取,读取后在切割,分解信息,这样文件中一行一个成员。

下面举了一个简单的实例,具体操作如下。

先编写一个成员类

public class Display  {
    public String name;
    public String schoolnumber;
    public Display(String name,String schoolnumber){
        this.name=name;
        this.schoolnumber=schoolnumber;
    }   //初始化成员变量
}
import java.io.*;

public class Main {

    public static void main(String[] args) {

        Display display=new Display("小曾","10010");  //创建两个对象实例
        Display display1=new Display("阿方","10011");
        File file=new File("work.txt");  //创建文件对象

        try{
            FileWriter p=new FileWriter(file);
            BufferedWriter p1=new BufferedWriter(p);
            p1.write(display.name);
            p1.write(" ");  //以空格符分隔开成员信息
            p1.write(display.schoolnumber);
            p1.newLine();  //存入对象一后换行
            p1.write(display1.name);
            p1.write(" ");
            p1.write(display1.schoolnumber);
            p1.newLine();
            p1.close();
            p.close();
        }catch (Exception e){
            e.printStackTrace();
        }

        try{
            FileReader q=new FileReader(file);
            BufferedReader q1=new BufferedReader(q);
            String s=null;
            int i=0;
            while ((s=q1.readLine())!=null){
                i++;
                String[] words=s.split(" ");   //定义String数组words 一空格符分割字符串s,String类的一些方法在我博客中有一篇详细的介绍
                System.out.println("第"+i+"个同学的姓名为:"+words[0]);
                System.out.println("学号为"+words[1]);
            } //循环读取文件每一行一String s储存
            q1.close();
            q.close();
        }catch (Exception e1){
            e1.printStackTrace();
        }
    }
}

上图为文件中信息存储情况

下图为代码运行结果


猜你喜欢

转载自blog.csdn.net/qq_40833779/article/details/80586464
今日推荐