ArrayList---File:集合数据写到文本文件文本数据读取到集合中

xiaoxiao2021-02-28  37

把ArrayLit集合中的字符数据存储到文本内 package com.Brooke05; /* * 把ArrayLit集合中的字符数据存储到文本内 */ import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; import java.util.ArrayList; public class ArrayListToFileTest { public static void main(String[] args) throws IOException { //创建集合对象 ArrayList<String> array = new ArrayList<String>(); //往集合中添加元素 array.add("hello"); array.add("world"); array.add("java"); //创建输出缓冲流对象 BufferedWriter bw = new BufferedWriter(new FileWriter("ArrayListToFileTest.txt")); for(int i=0;i<array.size();i++) { String line = array.get(i); bw.write(line); bw.newLine(); bw.flush(); } //释放资源 bw.close(); } } 读取文本数据存到集合中并遍历集合 package com.Brooke05; import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; import java.util.ArrayList; /* * 读取文本数据存到集合中并遍历集合 */ public class FileToArrayListTest { public static void main(String[] args) throws IOException { //创建集合对象 ArrayList<String> array = new ArrayList<String>(); //创建输入缓冲流对象 BufferedReader br = new BufferedReader(new FileReader("ArrayListToFileTest.txt")); String line; while((line = br.readLine()) != null) { array.add(line); } //释放资源 br.close(); for(int x=0;x<array.size();x++) { System.out.println(array.get(x)); } } } 键盘录入学生信息存入集合,遍历集合把学生信息存入文本(定义分割标记) package com.Brooke05; /* * 学生类 */ public class Student { private String name; private String age; private String id; private String address; public Student() { } public Student(String name, String age, String id, String address) { this.name = name; this.age = age; this.id = id; this.address = address; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAge() { return age; } public void setAge(String age) { this.age = age; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } } package com.Brooke05; import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; import java.util.ArrayList; import java.util.Scanner; /* * 键盘录入学生信息存入集合,遍历集合把学生信息存入文本(定义分割标记) */ public class StudentTest { public static void main(String[] args) throws IOException { //创建结集合对象 ArrayList<Student> array = new ArrayList<Student>(); for(int x=0;x<3;x++) { addStudent(array); } //创建输出缓冲流对象 BufferedWriter bw = new BufferedWriter(new FileWriter("StudentTest.txt")); for(int x=0;x<array.size();x++) { // String id = array.get(x).getId(); // bw.write(id+","); // String name = array.get(x).getName(); // bw.write(name+","); // String age = array.get(x).getAge(); // bw.write(age+","); // String address = array.get(x).getAddress(); // bw.write(address); // bw.newLine(); Student stu = array.get(x); //链式编程 StringBuilder sb = new StringBuilder(); sb.append(stu.getId()).append(",").append(stu.getName()).append(",").append(stu.getAge()).append(",").append(stu.getAddress()); bw.write(sb.toString()); bw.newLine(); bw.flush(); } //释放资源 bw.close(); } //添加学生 public static void addStudent(ArrayList<Student> array) { Scanner sc = new Scanner(System.in); String id = ""; while(true) { System.out.println("请输入学号:"); id = sc.nextLine(); boolean flag = true; for(int x=0;x<array.size();x++) { if(id.equals(array.get(x).getId())) { System.out.println("您输入的学号已经被占用,请重新输入!"); flag = false; } } if(flag == true) { break; } } System.out.println("请输入姓名:"); String name = sc.nextLine(); System.out.println("请输入年龄:"); String age = sc.nextLine(); System.out.println("请输入居住地:"); String address = sc.nextLine(); Student stu = new Student(); stu.setId(id); stu.setName(name); stu.setAge(age); stu.setAddress(address); array.add(stu); } } 把文本文件中的信息读取出来存储到集合中,最后遍历集合,在控制台输出 package com.Brooke05; import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; import java.util.ArrayList; /* * 把文本文件中的信息读取出来存储到集合中,最后遍历集合,在控制台输出 */ public class StudentTest1 { public static void main(String[] args) throws IOException { //创建输入缓冲流对象 BufferedReader br = new BufferedReader(new FileReader("StudentTest.txt")); //创建集合对象 ArrayList<Student> array = new ArrayList<Student>(); String line; while((line = br.readLine()) != null) { //分割字符串,分割后的元素存储到数组中,以","为分界点 String[] strArray = line.split(","); Student stu = new Student(); stu.setId(strArray[0]); stu.setName(strArray[1]); stu.setAge(strArray[2]); stu.setAddress(strArray[3]); array.add(stu); } //释放资源 br.close(); System.out.println("学号\t姓名\t年龄\t居住地"); for(int x=0;x<array.size();x++) { Student stu = array.get(x); System.out.println(stu.getId()+"\t"+stu.getName()+"\t"+stu.getAge()+"\t"+stu.getAddress()); } } }
转载请注明原文地址: https://www.6miu.com/read-2622914.html

最新回复(0)