Java 文件操作

Java中文件流类的继承关系:

                           【字节流】

            【字符流】

  

从上面的继承关系可以看出,FileWriter类不是直接继承了Writer类,而是继承自Writer的子类(、OutputStreamWriter)这是一个实现字节流到字符流的转换。

也就是说,实际上,从文件中读取的还是字节,只是在内存中将字节转换为了字符。也就是说,字符流用到了缓冲区,但是字节流却没有。可以使用flush()来清空缓冲区。

【管道流】

管道流主要用于连接两个线程间 的通信,也可以分为字节流(PipedInputStream PipedOutputStream)和字符流(PipedReader  PipedWriter)

【打印流】

PrintStream 提供了一系列的print和println的方法,可以将基本数据类型转换为字符串输出。在前面的程序中大量用到“System.out.println”语句中的
System.out就是PrintStream类的一个实例对象。

PrintStream(OutputStream out)
PrintStream(OutputStream out,boolean auotflush)
PrintStream(OutputStream out,boolean auotflush, String encoding)

另外还有一个PrintWriter类,

package project ;

import java.io.*;
public class Main{
    public static void main(String[] args) {
        File file = new File("e://out.txt");
        PrintWriter out = null;
        try {
            out = new PrintWriter(file);
        } catch (FileNotFoundException e) {
            // TODO 自动生成的 catch 块
            e.printStackTrace();
        }    
        out.print("hello world!");
        out.close();
    }

    
}

这样也可以实现数据的输出文件。

如下:

import java.io.*;
public class Main{
    public static void main(String[] args) {
        PrintWriter out = null;
        out = new PrintWriter(System.out);

        out.print("hello world!");
        out.close();
    }

    

实现了向显示器的输出。

【DataInputStream DataOutputStream】

可以实现按照一定格式输入输出。由于可以得到Java的各种数据类型,可以对数据很好的进行处理。

原文地址:https://www.cnblogs.com/plxx/p/3670911.html