21--字符流相关习题

练习一:字符输出流写出字符数据

  • 请用户从控制台输入信息,程序将信息存储到文件Info.txt中。可以输入多条信息,每条信息存储一行。当用户输入:”886”时,程序结束。

操作步骤:

  1. 创建MainAPP类,并包含main()方法
  2. 按照上述要求实现程序

代码:

public class Test01_07 {
    
    
    public static void main(String[]args) throws IOException {
    
    
       //1. 指定输出流, 对应的文件Info.txt
       FileWriter bw= new  FileWriter("Info.txt");
       //2.采用循环的方式,把每条信息存储一行到Info.txt中
       Scanner sc= new Scanner(System.in);
       while(true){
    
    
           //获取键盘输入的一行内容
           System.out.print("请输入内容:");
           String str= sc.nextLine();
           //当用户输入:”886”时,程序结束。
           if ("886".equals(str)) {
    
    
              break;//跳出循环
           }
           //把内容写入到Info.txt文件中
           bw.write(str);
           //换行
           bw.write(System.lineSeparator());
       }
       //关闭流
       bw.close();
    }
}

练习二:字符输出流写出字符数据并存到集合中

  • 从控制台接收3名学员的信息,每条信息存储到一个Student对象中,将多个Student对象存储到一个集合中。输入完毕后,将所有学员信息存储到文件Student.txt中。每名学员信息存储一行,多个属性值中间用逗号隔开。

操作步骤:
1.创建Student类,有如下属性:
学号、姓名、性别、年龄
全部属性使用String类型。要求有无参,全参构造方法。所有属性私有,并提供公有get/set方法。
2.创建MainApp类,包含main()方法
在main()方法中:
1.定义一个存储Student对象的集合;
2.循环3次,从控制台接收3名学员信息,每条信息封装一个Student对象,将每个Student对象存储到集合中。
3.遍历集合,获取每个Student对象,取出所有属性值,输出到文件Test2_2.txt中。每名学员信息占一行。

代码:

public class Task02_03 {
    
    
    public static void main(String[] args) throws IOException {
    
    
       // 1.定义学生类, 定义存学生的集合
       ArrayList<Student> list = new ArrayList<Student>();
       // 2.通过3次循环,完成如下操作
       Scanner sc = new Scanner(System.in);
       for (int i = 1; i<= 3; i++) {
    
    
           // 键盘输入学生的信息,
           System.out.print("请输入第" + i + "名学生的学号:");
           String id = sc.next();
           System.out.print("请输入第" + i + "名学生的姓名:");
           String name = sc.next();
           System.out.print("请输入第" + i + "名学生的性别:");
           String sex = sc.next();
           System.out.print("请输入第" + i + "名学生的年龄:");
           String age = sc.next();
           // 把信息封装到Student对象中
           Student s = new Student(id, name, sex, age);
           // 把Student对象存到集合里
           list.add(s);
       }
       // 3.将所有学员信息存储到文件Student.txt中。
       FileWriter out = new FileWriter("Student.txt");
       // 每名学员信息存储一行,多个属性值中间用逗号隔开。
       for (int i = 0; i<list.size(); i++) {
    
    
           // 1.获取集合中每一个学生对象
           Student s = list.get(i);
           // 2.获取对象中的每一个属性值,多个属性值中间用逗号隔开
           String line = s.getId() + "," + s.getName() + "," + s.getSex() + "," + s.getAge();
           // 3.按照指定的格式把对象的属性值,写入到文件中
           out.write(line);
           out.write(System.lineSeparator());
       }
       out.close();// 关闭流
    }
}

猜你喜欢

转载自blog.csdn.net/qq_44787898/article/details/106965573