BufferedReader(reader r): 可以传入FileReader对象作为参数,也可以传入InputStreamreader最为对象
BufferedWriter(Writer w): .....
public class bufferread {
public static void main(String[] args) throws IOException {
FileWriter fw = new FileWriter("java.txt");
BufferedWriter bw = new BufferedWriter(fw);
bw.write("a");
bw.close();
//其他的类似
}
}
字符缓冲流特有功能
BufferedWriter:
void newline() 写一个行分隔符,行分隔符字符串由系统属性定义
BufferedReader:
public String readline() 读一行文字。结果包含行的内容的字符串,不包括换行符,读到流的结尾返回null,循环读的时候用是否为null来判断终止情况
bw.write("a");
bw.newLine();//实现换行功能
字符流复制文件-----最常用的方法
public class bufferread {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(
new FileReader(".\\collections.txt"));
FileWriter fw = new FileWriter("java.txt");
BufferedWriter bw = new BufferedWriter(fw);
String line ;
while ((line = br.readLine()) != null ){
bw.write(line);
bw.newLine(); // 因为行里面已经不包括换行符了;
bw.flush();
}
bw.close();
br.close();
//其他的类似
}
}
public class treeset {
public static void main(String[] args) throws IOException {
//定义学生集合,并通过比较器排序
TreeSet<Student> ts = new TreeSet<Student>(new Comparator<Student>() {
@Override
public int compare(Student o1, Student o2) {
//排序规则
int num = o2.getsum() - o1.getsum();
int num2 = num == 0 ? o1.getChinesescore() - o2.getChinesescore() : num;
int num3 = num2 == 0 ? o1.getMathscore() - o2.getMathscore() : num2;
int num4 = num3 == 0 ? o1.getName().compareTo(o2.getName()) : num3;
return num4;
}
});
//键盘录入学生信息
for (int i = 0; i < 3; i++) {
Scanner sc = new Scanner(System.in);
System.out.println("name");
String name = sc.nextLine();
System.out.println("chinesescore");
int chinesescore = sc.nextInt();
System.out.println("englishscore");
int englishscore = sc.nextInt();
System.out.println("mathscore");
int mathhscore = sc.nextInt();
Student s1 = new Student(name, chinesescore, mathhscore, englishscore);
ts.add(s1);
}
//创建字符缓冲流对象
BufferedWriter bw = new BufferedWriter(new FileWriter("java.txt"));
for (Student s : ts) {
StringBuilder sb = new StringBuilder();
sb.append(s.getName()).append(",").append(s.getChinesescore()).append(",").
append(s.getMathscore()).append(",").append(s.getEnglishscore()).append(",").
append(s.getsum());
bw.write(sb.toString());
bw.write("\r\n");
bw.flush();
}
bw.close();
}
}