介绍
主要就是IO流的运用,具体就是BufferedWriter and BufferedReader
然后用到了ArrayList集合实现增加以及文件的读取和写入,另一个用到的知识点是字符串的StringBuilder,很容易看懂.你们可以根据这个添加一些具体的程序实现数据结构。
代码
package study;
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.Scanner;
class student1{
private String name;
private String number;
public student1(String name, String number) {
this.name = name;
this.number = number;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
}
public class arraylist {
public static void main(String[] args) throws IOException {
ArrayList<student1> array=new ArrayList<>();
fileReader(array);
addStudent(array);
display(array);
}
public static void fileReader(ArrayList<student1> array) throws IOException {
BufferedReader br=new BufferedReader(new FileReader("student.txt"));
String line;
while((line=br.readLine())!=null) {
//用一个数组放每一行的分割数据
String[] str=line.split(",");
student1 s=new student1(str[0],str[1]);
array.add(s);
}
br.close();
}
public static void display(ArrayList<student1> array) {
for(int i=0;i<array.size();i++) {
student1 s=array.get(i);
System.out.println(s.getName()+" "+s.getNumber());
}
}
public static void fileWirter(ArrayList<student1> array) throws IOException {
BufferedWriter bw=new BufferedWriter(new FileWriter("student.txt"));
for(int i=0;i<array.size();i++) {
student1 s=array.get(i);
//确定格式:name,number
StringBuilder sb=new StringBuilder();
sb.append(s.getName()).append(",").append(s.getNumber());
bw.write(sb.toString());//将流转化成字符串
bw.newLine();
bw.flush();
}
bw.close();
}
public static void addStudent(ArrayList<student1> array) throws IOException{
int d=1;
while(d!=0) {
System.out.println("请输入您的姓名");
Scanner sc=new Scanner(System.in);
String name=sc.next();
System.out.println("请输入您的学号");
String number=sc.next();
array.add(new student1(name,number));
System.out.println("是否要继续输入学生信息? 是1否0");
d=sc.nextInt();
}
}
}