java第四次实验-输入输出处理

Java实验第四次

目录

    • 1. 分别使用字节流和字符流拷贝一个文本文件的内容。要求:
    • 2. 使用Java的输入、输出流将一个文本文件的内容按行读出,每读出一行就顺序添加行号,并写入到另一个文件中。
    • 3. 利用面向对象的设计思想,创建学生类,学生信息包括:学号、姓名、出生日期。编写程序实现下列功能:

1. 分别使用字节流和字符流拷贝一个文本文件的内容。要求:

(1) 用FileInputStream、FileOutputStream和FileReader、FileWriter分别拷贝;
(2) 使用字节流时,定义一个1024长度的字节数组,使用字符流时,使用BufferedReader和BufferedWriter。

public class Text01 {
  
   public static void main(String[] args) throws IOException {
      // TODO Auto-generated method stub
      
         FileOutputStream fos = new FileOutputStream("D:/321.txt");
         FileInputStream  fis = new FileInputStream("E:/123.txt");
         byte b[]=new byte[2014];
         fis.read(b);
         fos.write(b);
         fos.close();
   }
}

public class Text01_1 {
   public static void main(String[] args) throws IOException {
      BufferedReader br =  new BufferedReader(new FileReader("D:/wangdefa.txt"));
      BufferedWriter bw = new BufferedWriter(new FileWriter("E:/houlixie.txt"));
      String str = br.readLine();
       bw.write(str);
       bw.newLine();
      br.close();
      bw.close();
   }
}

2. 使用Java的输入、输出流将一个文本文件的内容按行读出,每读出一行就顺序添加行号,并写入到另一个文件中。

public class text02 {

   public static void main(String[] args) throws IOException {
      // TODO Auto-generated method stub
      int count = 0;
      BufferedReader br =  new BufferedReader(new FileReader("D:/22222.txt"));
      BufferedWriter bw = new BufferedWriter(new FileWriter("E:/222222222.txt"));
      String str ;
      while((str = br.readLine()) != null){
         bw.write(count+" ");
         bw.write(str);
         System.out.println(str);
         bw.newLine();
         count++;
      }
      System.out.println("获取了"+count+"行");
      bw.flush();
      br.close();
      bw.close();
   }
}

3. 利用面向对象的设计思想,创建学生类,学生信息包括:学号、姓名、出生日期。编写程序实现下列功能:

(1) 把表1中的学生信息写入到文件中,要求每个学生信息的学号、姓名、出生日期之间用逗号隔开,其对应的文本文件中的信息格式如图4-1所示
表4-1 学生信息
学号 姓名 出生日期
201644001 张三 1997年2月3日
201644002 李四 1998年11月11日
201644003 王五 1996年3月2日
201644004 赵六 1996年12月12日
201644005 周正 1997年10月10日

(2) 请读出题(1)的文件内容,并把读到的学生信息保存到List集合(ArrayList或者LinkedList)中,并使用遍历方式输出List集合的内容。

java第四次实验-输入输出处理_第1张图片

public class User {
   private String id;
   private String name;
   private String birthday;

   public String getId() {
      return id;
   }

   public void setId(String id) {
      this.id = id;
   }

   public String getName() {
      return name;
   }

   public void setName(String name) {
      this.name = name;
   }

   public String getBirthday() {
      return birthday;
   }

   public void setBirthday(String birthday) {
      this.birthday = birthday;
   }

   public User() {
   }

   public User(String id, String name, String birthday) {
      this.id = id;
      this.name = name;
      this.birthday = birthday;
   }
}


public class Text3 {
   public static void main(String[] args) throws IOException {
      // TODO Auto-generated method stub
      int count = 0;
      BufferedReader br = new BufferedReader(new FileReader("D:/22222.txt"));
      BufferedWriter bw = new BufferedWriter(new FileWriter("E:/222222222.txt"));
      User us1 = new User("201644001", "张三", "1997年2月3日");
      bw.write(us1.getId() + "," + us1.getName() + "," + us1.getBirthday());
      bw.newLine();
      User us2 = new User("201644002", "李四", "1998年11月11日");
      bw.write(us2.getId() + "," + us2.getName() + "," + us2.getBirthday());
      bw.newLine();
      User us3 = new User("201644003", "王五", "1996年3月2日");
      bw.write(us3.getId() + "," + us3.getName() + "," + us3.getBirthday());
      bw.newLine();
      User us4 = new User("201644004", "赵六", "1996年12月12日");
      bw.write(us4.getId() + "," + us4.getName() + "," + us4.getBirthday());
      bw.newLine();
      User us5 = new User("201644005", "周正", "1997年10月10日");
      bw.write(us5.getId() + "," + us5.getName() + "," + us5.getBirthday());
      bw.newLine();
      br.close();
      bw.close();

      /**
       * 2问
       */
      FileReader fi=new FileReader("E:/222222222.txt");
      BufferedReader di=new BufferedReader(fi);
      List list = new ArrayList();
      //List list = new ArrayList();
      String str;
      while ((str = di.readLine()) != null) {
         String id = str.substring(0, 9);
         String name = str.substring(9, 12);
         String birth = str.substring(12, str.length());
         //list.add(new User(id, name, birth));
         list.add(id+name+birth);
      }
      Iterator iter = list.iterator();
      while (iter.hasNext()) {
//       System.out.print(iter.next().getId());
//       System.out.println(iter.next().getName());
         System.out.println(iter.next());
      }
      di.close();
      fi.close();

   }
}

你可能感兴趣的:(java基础,java)