首页 > 编程语言 >【java开发】FileWriter

【java开发】FileWriter

时间:2024-11-03 12:46:51浏览次数:2  
标签:java fw void write 开发 io FileWriter public

原创 大常运维

FileWriter(文件字符输出流):

作用:以内存为基准,把内存中的数据以字符的形式写出到文件中去。

构造函数和方法:

代码:


package cn.chang.d1_char_stream;
 
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
 
/**
 * 目标:掌握文件字符输出流,写字符数据出去
 */
public class FileWriterTest2 {
    public static void main(String[] args) {
 
        try(
                // 创建一个文件字符输出流管道与目标文件接通
                Writer fw = new FileWriter("io-app2/src/chang02.txt");
                ) {
 
            // 1. public void write(int c);
            fw.write('a');
            fw.write(97);
            fw.write('磊');
            fw.write("\r\n");
 
            // 2. public void write(String c);
            fw.write("我爱你中国abc");
 
 
            // 3. public void write(String c, int pos, int len);
            fw.write("我爱你中国abc", 0, 5);
 
 
            // 4. public void write(char[] buffer);
            char[] buffer = {'黑', '龙', '江', 'a', 'b', 'c'};
            fw.write(buffer);
 
            fw.write("\r\n");
            // 5. public void write(char[] buffer, int pos, int len);
            char[] buffer1 = {'黑', '龙', '江', 'a', 'b', 'c'};
            fw.write(buffer1, 0, 3);
 
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

运行结果:

fw.write("\r\n");     // 换行

数据追加,后面有个参数append改成true。这边不再演示。

字符输出流使用时的注意事项:

字符输出流写出数据后,必须刷新流,或者关闭流,写出去的数据才能生效。

数据都是先写到缓冲区中,缓冲区在内存中,写到缓冲区速度都是很快的,最后通过某种机制把数据通过系统调用从缓冲区同步到文件中,整体性能会好很多。

我们怎么通知缓冲区同步到文件中呢?

通过关闭流或者刷新流。

package cn.chang.d1_char_stream;
 
import java.io.FileWriter;
import java.io.Writer;
 
/**
 * 目标:搞清楚字符输出流使用时的注意事项
 */
public class FileWriterTest3 {
    public static void main(String[] args) throws Exception {
        Writer fw = new FileWriter("io-app2/src/chang03.txt");
 
        // 写字符数据出去
        fw.write('a');
        fw.write('b');
        fw.write('c');
        fw.write('d');
 
        fw.write("\r\n");
 
        fw.write("我爱你中国");
        fw.write("\r\n");
        fw.write("我爱你中国");
 
        // 刷新流  关闭流
//        fw.flush();
//
//        fw.write("\r\n");
//        fw.write("张三");
//        fw.flush();
 
        fw.close();
    }
}

关闭流:包含刷新流。

刷新流还是能再刷数据,关闭流就不行。

另外,一旦缓冲区写满了,会自动刷新数据。

参考

标签:java,fw,void,write,开发,io,FileWriter,public
From: https://www.cnblogs.com/o-O-oO/p/18522735

相关文章

  • 一文彻底熟练掌握并使用Java的NIO操作
    一、基本概念JavaNIO是Java1.4引入的,用于处理高速、高并发的I/O操作。与传统的阻塞I/O不同,NIO支持非阻塞I/O和选择器,可以更高效地管理多个通道。二、核心组件通道(Channel)Channel是NIO中用于读取和写入数据的主要接口,提供双向数据传输的能力。常见的通道......
  • 【JAVA毕业设计】基于Vue和SpringBoot的网上购物商城
    本文项目编号T041,文末自助获取源码\color{red}{T041,文末自助获取源码}......
  • 【JAVA毕业设计】基于Vue和SpringBoot的甘肃非物质文化网站
    本文项目编号T042,文末自助获取源码\color{red}{T042,文末自助获取源码}......
  • Vs Code团队开发Git协同开发使用
    目录一、前言二、Git安装1、进入Git官网,点击下载2、本文使用windows版本3、选择本机电脑对应的配置4、双击打开安装包,选择对应的安装位置,配置点击next默认​5.新建一个空的文件夹三、在VsCode中使用git上传代码到远程仓库gitee1、gitee上创建仓库​ 2、git基本使用......
  • Java+Uni-App基于微信小程序的生日礼品管理系统/生日礼物策划系统
    项目介绍科学技术日新月异,人们的生活都发生了翻天覆地的变化,生日福利管理当然也不例外。过去的信息管理都使用传统的方式实行,既花费了时间,又浪费了精力。在信息如此发达的今天,我们可以通过网络这个媒介,快速的查找自己想要的信息,更加全方面的了解自己的网站信息。而......
  • SpringBoot外语学习系统vvp4z程序+源码+数据库+调试部署+开发环境
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、课题名称外语学习系统的研发与优化二、研究目的与意义随着全球化的不断深入,外语学习的重要性日益凸显。一个高效、个性化的外语学习系统能够......
  • SpringBoot图书管理信息系统6fh8g程序+源码+数据库+调试部署+开发环境
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、课题名称图书管理信息系统的开发与应用二、选题意义随着信息技术的飞速发展,图书馆作为知识和信息的集散地,其管理效率和服务水平直接影响到读......