java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > FileWriter流解析

JAVA中的FileWriter流解析

作者:咕噜是个大胖子

这篇文章主要介绍了JAVA中的FileWriter流解析,FileWriter类提供了多种写入字符的方法,包括写入单个字符、写入字符数组和写入字符串等,它还提供了一些其他的方法,如刷新缓冲区、关闭文件等,需要的朋友可以参考下

一、FileWriter流

API说明:用于编写字符文件的便捷类, 此类的构造函数假定默认字符编码和默认字节缓冲区大小是可接受的,要自己指定这些值,请在FileOutputStream上构造OutputStreamWriter。 文件是否可用或是否可以创建取决于底层平台。 特别是某些平台允许一次只打开一个FileWriter(或其他文件写入对象)来写文件。 在这种情况下,如果涉及的文件已经打开,则此类中的构造函数将失败。 FileWriter用于编写字符流。 要编写原始字节流,请考虑使用FileOutputStream

1)编写字符文件的便捷类怎么理解?

专用于输出字符数据到文件的便捷类,如输出多个中文等用此类

2)此类的构造函数假定默认字符编码和默认字节缓冲区大小是可接受的怎么理解?

此类构造函数中有设置默认字符编码以及该类有一个常量代表字节缓冲区大小

3)自己指定这些值,请在FileOutputStream上构造OutputStreamWriter?

说明父类OutputStreamWriter对象的构造方法中有利用字节输出流FileOutputStream作为参数以及可以设置指定的字符编码

public class FileWriter extends OutputStreamWriter

二、FileWriter流构造方法

1)通过给定的File对象构造FileWriter类对象:

本质是利用File对象然后构造FileOutputStream对象再调用父类的构造方法,注意并未有关字符集和缓冲区大小的设置

    public FileWriter(File file) throws IOException {
        super(new FileOutputStream(file));
    }

2)通过给定File对象的构造FileWriter对象, 如果第二个参数为true,则字节将写入文件的末尾而不是开头即是追加内容而非覆盖

本质是利用File对象然后构造FileOutputStream对象再调用父类的构造方法注意并未有关字符集和缓冲区大小的设置

    public FileWriter(File file, boolean append) throws IOException {
        super(new FileOutputStream(file, append));
    }

3)通过给定的文件名构造FileWriter对象:本质与第一个构造方法一致

    public FileWriter(String fileName) throws IOException {
        super(new FileOutputStream(fileName));
    }

4)通过给定的文件名构造FileWriter对象, 如果第二个参数为true,则字节将写入文件的末尾而不是开头即是追加内容而非覆盖

本质是与第二个构造方法一致

    public FileWriter(String fileName, boolean append) throws IOException {
        super(new FileOutputStream(fileName, append));
    }

三、FileWriter流API

FileWriter的API中只有5个构造方法,且本质都是调用的父类OutputStreamWriter的构造方法,因此若需要了解FileWriter的构造方法,我们需要了解OutputStreamWriter类

OutputStreamWriter是从字符流到字节流的桥接:使用指定的字符集将写入其中的字符编码为字节。它使用的字符集可以通过名称指定,也可以明确指定,或者可以接受平台的默认字符集。

每次调用write()方法都会导致在给定字符上调用编码转换器。生成的字节在写入底层输出流之前在缓冲区中累积。可以指定此缓冲区的大小,但默认情况下,它足够大,可用于大多数用途。

请注意,传递给write()方法的字符不会被缓冲。

到此这篇关于JAVA中的FileWriter流解析的文章就介绍到这了,更多相关FileWriter流解析内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文