JAVA中的FileWriter流解析

 更新时间:2023年10月16日 09:28:08   作者:咕噜是个大胖子  
这篇文章主要介绍了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流解析内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • java 随机生成6位短信验证码实例代码

    java 随机生成6位短信验证码实例代码

    这篇文章主要介绍了java 随机生成6位短信验证码的实例代码,文中给大家扩展介绍了java随机生成四位数字验证码的方法,需要的朋友可以参考下
    2019-12-12
  • java的arrays数组排序示例分享

    java的arrays数组排序示例分享

    排序算法,基本的高级语言都有一些提供。C语言有qsort()函数,C++有sort()函数,java语言有Arrays类(不是Array)。用这些排序时,都可以写自己的排序规则
    2014-02-02
  • Java中从JSON转Java实体的多种方法详解

    Java中从JSON转Java实体的多种方法详解

    在现在的日常开发中不管前端还是后端,JSON 格式的数据是用得比较多的,甚至可以说无处不在,这篇文章主要给大家介绍了关于Java中从JSON转Java实体的多种方法,需要的朋友可以参考下
    2023-12-12
  • Java POI库从入门到精通举例详解

    Java POI库从入门到精通举例详解

    Apache POI是一个开源项目,能够让Java程序员读取和写入Microsoft Office格式的文件,包括Excel、Word和PowerPoint等,本文详细介绍了POI库的安装、结构与功能,以及如何在Java中进行基本操作和进阶应用,需要的朋友可以参考下
    2024-10-10
  • Java中程序的运行全过程

    Java中程序的运行全过程

    这篇文章主要介绍了Java中程序的运行全过程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • SpringBoot集成Curator实现Zookeeper基本操作的代码示例

    SpringBoot集成Curator实现Zookeeper基本操作的代码示例

    Zookeeper是一个Apache开源的分布式的应用,为系统架构提供协调服务,ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户,本文给大家介绍了SpringBoot集成Curator实现Zookeeper基本操作,需要的朋友可以参考下
    2024-05-05
  • 讲解Java编程中finally语句的基本使用方法

    讲解Java编程中finally语句的基本使用方法

    这篇文章主要介绍了讲解Java编程中finally语句的基本使用方法,finally在异常处理中的使用时Java入门学习中的基础知识,需要的朋友可以参考下
    2015-11-11
  • Java实现DFA算法对敏感词、广告词过滤功能示例

    Java实现DFA算法对敏感词、广告词过滤功能示例

    本篇文章主要介绍了Java实现DFA算法对敏感词、广告词过滤功能示例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • PowerJob的DesignateServer工作流程源码解读

    PowerJob的DesignateServer工作流程源码解读

    这篇文章主要介绍了PowerJob的DesignateServer工作流程源码解读,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • 浅谈java获取服务器基本信息

    浅谈java获取服务器基本信息

    这篇文章主要介绍了java获取服务器基本信息,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03

最新评论