文件流的使用

昨天我们讲了缓冲流的使用,各位童鞋们学会了没有,今天我们再来说一下文件流的使用,如果有童鞋有什么不明白的地方,欢迎在下方留言哦。

FileReader读取文件

FileReader类从InputStreamReader类继承而来。该类按字符读取流中数据。可以通过以下几种构造方法创建需要的对象。

在给定从中读取数据的 File 的情况下创建一个新 FileReader。

FileReader(File file)
在给定从中读取数据的 FileDescriptor 的情况下创建一个新 FileReader。

FileReader(FileDescriptor fd)
在给定从中读取数据的文件名的情况下创建一个新 FileReader。

FileReader(String fileName)

创建FIleReader对象成功后,可以参照以下的方法操作文件。
  • public int read() throws IOException
    读取单个字符,返回一个int型变量代表读取到的字符
  • public int read(char [] c, int offset, int len)
    读取字符到c数组,返回读取到字符的个数
实例
 import java.io.*;
public class Test{
public static void main(String args[]) throws IOException {
    File file = new File("Demo1.txt");
    // 创建文件
    file.createNewFile();
    // creates a FileWriter Object
    FileWriter writer = new FileWriter(file);
    // 向文件写入内容
    writer.write("i\love\you");
    writer.flush();
    writer.close();
    // 创建 FileReader 对象
    FileReader fr = new FileReader(file);
    char[] a = new char[50];
    fr.read(a); // 读取数组中的内容
    for (char c : a)
        System.out.print(c); // 一个一个打印字符
    fr.close();
}

}

FileWriter写入

FileWriter 类从 OutputStreamWriter 类继承而来。该类按字符向流中写入数据。可以通过以下几种构造方法创建需要的对象。

在给出 File 对象的情况下构造一个 FileWriter 对象。

FileWriter(File file)
在给出 File 对象的情况下构造一个 FileWriter 对象。

FileWriter(File file, boolean append)
构造与某个文件描述符相关联的 FileWriter 对象。

FileWriter(FileDescriptor fd)
在给出文件名的情况下构造 FileWriter 对象,它具有指示是否挂起写入数据的 boolean 值。

FileWriter(String fileName, boolean append)
创建FileWriter对象成功后,可以参照以下的方法操作文件。

  • public void write(int c) throws IOException
    写入单个字符c。
  • public void write(char [] c, int offset, int len)
    写入字符数组中开始为offset长度为len的某一部分。
  • public void write(String s, int offset, int len)
    写入字符串中开始为offset长度为len的某一部分。
实例
import java.io.*;
public classTest {
public static void main(String args[]) throws IOException {
    File file = new File("Demo.txt");
    // 创建文件
    file.createNewFile();
    // creates a FileWriter Object
    FileWriter writer = new FileWriter(file);
    // 向文件写入内容
    writer.write("haha\xixi");
    writer.flush();
    writer.close();
    // 创建 FileReader 对象
    FileReader fr = new FileReader(file);
    char[] a = new char[50];
    fr.read(a); // 从数组中读取内容
    for (char c : a)
        System.out.print(c); // 一个个打印字符
    fr.close();
}

以上就是FileReader和FileWriter的一个简单的使用了。是不是又学到了?每天一章,每次都有新收获。学习就是一个坚持的过程。如果有什么不会的,或者还有想知道的欢迎大家在下方留言或者加入我的技术探讨群来与我交流。

你可能感兴趣的:(文件流的使用)