缓存式的字符输入输出流
来源:互联网 发布:无印良品有淘宝店吗 编辑:程序博客网 时间:2024/06/07 10:40
前一篇讲了文件的字符输入输出流,但是最终还是要一个字符一个字符的读取和写入。缓存式的字符输入输出流BufferedReader BufferedWriter里面有方法是按照一行一行的进行读和写的。
一、BufferedReader
实体类:
package io.buffer;public class StudentInfo {private String name;private String stuNo;private String claName;public StudentInfo( String name,String stuNo, String claName) {this.name=name;this.stuNo=stuNo;this.claName=claName;}public String getStuNo() {return stuNo;}public void setStuNo(String stuNo) {this.stuNo = stuNo;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getClaName() {return claName;}public void setClaName(String claName) {this.claName = claName;}@Overridepublic String toString() {return name+","+stuNo+","+claName;}}
操作类:
package io.buffer;import java.io.*;import java.util.*;public class StudentInfoReader {public static void main(String[] args) {//String path = FileReader.class.getResource("/").getFile();String fileName = "F:" + File.separator + "test.txt";List<StudentInfo> stuls =readStudentInfo(fileName);System.out.println(stuls.size());}public static List<StudentInfo> readStudentInfo(String fileName) {List<StudentInfo> list = new ArrayList<StudentInfo>();try {BufferedReader br = new BufferedReader(new FileReader(fileName));String line = null;while ( (line = br.readLine()) != null ) {String[] infos = line.split(",");list.add(new StudentInfo(infos[0], infos[1], infos[2]));}br.close();} catch (Exception e) {e.printStackTrace();}return list;}}
二、BufferedWriter。BufferedWrite比普通的字符流会多一个插入分行符的方法:newLine()写入一个行分隔符。下面读取test.txt中的数据并封装为StudengInfo:
package io.buffer;import java.io.*;import java.util.*;public class StudentInfoReader1 {public static void main(String[] args) {String fileName = "F:" + File.separator + "test.txt";StudentInfo student=new StudentInfo("Lily","100003","java");addStudentInfo(fileName,student);List<StudentInfo> stuls =readStudentInfo(fileName);System.out.println(stuls.size());}public static List<StudentInfo> readStudentInfo(String fileName) {List<StudentInfo> list = new ArrayList<StudentInfo>();try {BufferedReader br = new BufferedReader(new FileReader(fileName));String line = null;while ( (line = br.readLine()) != null ) {String[] infos = line.split(",");list.add(new StudentInfo(infos[0], infos[1], infos[2]));}br.close();} catch (IOException e) {e.printStackTrace();}return list;}public static void addStudentInfo(String fileName,StudentInfo student) {try {BufferedWriter bw = new BufferedWriter(new FileWriter(fileName,true));bw.write("\r\n");//相当于bw.newLine();bw.write(student.toString());bw.close();} catch (IOException e) {e.printStackTrace();}}}
阅读全文
1 0
- 缓存式的字符输入输出流
- 带缓存的字符输入输出流
- 字符流的输入输出
- 文件的字符输入输出流
- 面向字符的输入输出流
- 带缓存的字节输入输出流
- Java精选笔记_IO流(字符输入输出流、字符文件输入输出流、字符流的缓冲区)
- 输入输出流(字符)的简单实例
- 字符流的三种输入输出方法
- java 缓存输入输出流
- 字符的输入输出
- 字符变量的输入输出
- 浅谈字符的输入输出
- 输入输出 字节,字符流
- 关于标准输入输出的缓存
- C语言字符的输入输出
- 字符+浮点数的输入输出
- 5.7、字符数组的输入输出
- (0.1+0.7)*10!=8?
- H
- linux-原子操作
- ARP协议
- java基础之xml
- 缓存式的字符输入输出流
- 搜索专题: HDU1312Red and Black
- Java菜鸟学习日记19
- [codeforces 832D]Misha, Grisha and Underground
- L1-045. 宇宙无敌大招呼
- 【C++】模拟String___引用计数写实拷贝
- Typescript简介和安装
- 多态的例子
- HDU6038 Functions