# 原创,转载请留言联系
输出流
FileWriter类
常见的构造方法:
String fileName代表的是文件的路径,如果没有这个文件,会自动创建。
常见的方法:
1.write
2.close
3.flush
输入流
FileReader类
常见的构造方法:
常见的方法:
1.read()
示例:
public class FileReaderDemo {
public static void main(String[] args) throws IOException {
FileReader fr = new FileReader("/home/chichung/桌面/test");
int ch = fr.read();
System.out.println(ch);
System.out.println((char)ch);
fr.close()
}
注意,当没有数据可以读时,返回值是int -1。可以根据这个结束条件写一个循环把所有数据读出来。
public class FileReaderDemo {
public static void main(String[] args) throws IOException {
FileReader fr = new FileReader("/home/chichung/桌面/test");
int ch;
while ((ch=fr.read()) != -1){
System.out.print((char)ch);
}
fr.close(); // 记得释放资源
}
}
2.read(char[] cbuf)
示例:
public class FileReaderDemo2 {
public static void main(String[] args) throws IOException {
char[] arr = new char[3]; // 这里只是实验才用的3,具体情况视内存而定
FileReader fr = new FileReader("/home/chichung/桌面/test");
int len;
// len=fr.read(arr) len是实际读到的长度(int),不是数组的长度!
// 当没有新内容可读时,返回值是int -1
while ((len= fr.read(arr)) != -1){
System.out.print(new String(arr,0,len)); // String构造方法直接把字符数组转换为字符串
}
fr.close();
}
}
说了这么多,其实上面两个都用得不多(滑稽.jpg)
用得比较多是BufferedWriter和BufferReader类。
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
BufferedWriter类
常用构造方法:
常用方法:
FileWriter的方法都有。
比较特别的是,BufferedWriter类有newLine()方法。
这个方法十分有用。它是写入一个换行符。
BufferedReader类
常见的构造方法:
常见的方法:
FileReader的方法都有。
比较特别的是,BufferedReader类有readLine()方法。
readLine()方法是一次读一行。需要注意的是,与read()不同,当没有东西可读的是,readLine()返回的是null,read()返回的是-1。