21 ---キャラクターストリーム関連の演習

演習1:文字出力ストリームに文字データを書き込む

  • コンソールから情報を入力するようにユーザーに依頼すると、プログラムはその情報をInfo.txtファイルに保存します。複数の情報を入力でき、各情報は1行に保存されます。ユーザーが「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();
    }
}

演習2:文字出力ストリームは文字データを書き込み、コレクションに保存します

  • コンソールから3人の学生の情報を受け取り、各情報はStudentオブジェクトに保存され、複数のStudentオブジェクトはコレクションに保存されます。入力後、すべての学生情報をファイルStudent.txtに保存します。各学生情報は1行に保存され、複数の属性値はコンマで区切られます。

手順:
1。次の属性を使用してStudentクラスを作成します:
学生ID、名前、性別、年齢。
すべての属性は文字列タイプを使用します。パラメータを必要とせず、完全なパラメータ構築方法。すべてのプロパティはプライベートであり、パブリックのget / setメソッドが提供されています。
2. main()メソッドを含むMainAppクラスを作成します。main
()メソッドで:1。Student
オブジェクトのコレクションを定義します。2。3
回ループし、コンソールから3つの学生情報を受け取り、各情報がStudentオブジェクトをカプセル化します。 、各Studentオブジェクトをコレクションに保存します。
3.コレクションをトラバースし、各Studentオブジェクトを取得し、すべての属性値を取り出して、ファイルTest2_2.txtに出力します。各学生の情報は1行にあります。

コード:

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