美文网首页
I/O练习3

I/O练习3

作者: 极课编程 | 来源:发表于2025-09-22 07:29 被阅读0次
package com.foreknow.io;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class ReadWrite {
    //向文件中写数据
    public void write(List<Student> list,String fileName) {
        FileWriter fw = null;
        BufferedWriter bw = null;
        try {
            fw = new FileWriter(fileName);
            bw = new BufferedWriter(fw);
            //1.遍历list集合,获取到对象Student
            Iterator<Student> iterator = list.iterator();
            while(iterator.hasNext()) {
                Student stu = iterator.next();
                //2.获取Student对象信息(sid+" "+name+" "+age+" "+phone)
                String str = stu.getSid()+" "+stu.getName()+" "+stu.getAge()+" "+stu.getPhone();
                //3.将字符串写到目标文件中
                bw.write(str);
                bw.newLine();
            }
            //4.关闭资源
            bw.close();
            fw.close();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    
    //读取文件中的数据
    public List<Student> readFile(String fileName) {
        FileReader fr = null;
        BufferedReader br = null;
        List<Student> list = new ArrayList<>();
        try {
             fr = new FileReader(fileName);
             br = new BufferedReader(fr);
             //读取文件
             String temp;
             while((temp = br.readLine())!=null) {//1000 tom 30 12121212122
                 //拆分字符串
                 String[] str = temp.split(" ");
                 //要将拆分出来的字符串放到Student对象中
                 Student s = new Student();
                 s.setSid(str[0]);
                 s.setName(str[1]);     
                 s.setAge(Integer.parseInt(str[2]));
                 s.setPhone(str[3]);
                 //要将Student对象保存到集合list中
                 list.add(s);
             }
             //关闭资源
             br.close();
             fr.close();
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return list;
    }
    
    
    
    
    
    
    
    
    
    
}

相关文章

网友评论

      本文标题:I/O练习3

      本文链接:https://www.haomeiwen.com/subject/facfoctx.html