BufferedRead类常用的方法。
read()方法:读取单个字符。
readLine()方法:读取一个文本行,并将其返回为字符串。若无数据可读,则返回null。
BufferedWriter类中的方法都返回void。常用方法。
write( String s,int off,int len)方法:写入字符串的某一部分。
flush()方法:刷新该流的缓存。
newLine()方法:写入一个行分隔符。
flush()方法就是用于即使在缓存区没有满的情况下,也将缓存区的内容强制写入到外设,习惯上称这个过程为刷新。该方法只对使用缓存区的OututStream类的子类有效。当调用close()方法时,系统在关闭流之前,也会将缓存区中的信息刷新到磁盘文件中。
import java.io.*;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
String content[] = { "好久不见", "最近好吗", "see you" };
File file = new File("E:\\src\\csv\\word283.csv"); // 创建文件对象,可以再加个异常分析,是否已存在该文件
// 写入
try {
FileWriter fw = new FileWriter(file);// 创建FileWriter类对象
BufferedWriter bufw = new BufferedWriter(fw);
for (int k = 0; k < content.length; k++) {// 循环遍历content数组的内容
bufw.write(content[k]);// 将字符串数组中的每个元素写入到磁盘文件中
bufw.newLine();// 实现换行,将数组中的单个元素以单行的形式写入文件
}
bufw.close();
fw.close();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
// 读取
try {
FileReader fr = new FileReader(file);
BufferedReader bufr = new BufferedReader(fr);
String s;
int i = 0;
// 先判断要读的文件的文本行数不为null,才进入循环
while ((s = bufr.readLine()) != null) {// 读取文本行,并将其返回为字符串。若无数据可读,则返回null。
i++;
System.out.println("第" + i + "行:" + s);
}
fr.close();
bufr.close();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}