【java开发】FileWriter

news/2025/1/1 8:28:59/文章来源:https://www.cnblogs.com/o-O-oO/p/18522735

原创 大常运维

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();}
}

关闭流:包含刷新流。

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

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

参考🔗

https://mp.weixin.qq.com/s/gua8cJIc8HUi6XN_cgZzQw

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/826129.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

蓝桥算法

1.https://www.lanqiao.cn/problems/19954/learning/?contest_id=214 这道题用快速幂直接秒,而快速幂就是求一个数的次方很大的时候,我们可以把指数分解为二进制的形式,再有a的b*c次方等于a的b次方乘以a的c次方,在用一个数存储一下即可。代码如下: def qui(x, y): res = 1…

2280: 【例27.2】 最小n值 循环代码块不熟练

include <bits/stdc++.h> using namespace std; int main( ) { int n=2, m; cin >> m; double sum=1; while (sum<m) { sum+=1*1.0/n; n++; } cout << n-1; return 0; } 错误点: int n=1, m; 错误点2:while (sum>=m),错误点三 没设置 n++; 反思:1…

web安全作业(SQL注入2)

web安全作业之SQL注入2 需要掌握的知识POST提交与Get提交方法的区别 Mysql POST注入(POST Union注入、POST报错注入、POST盲注、POST报头注入) Mysql注入文件上传 堆叠注入 二次注入 http协议请求报文 理解PHP中定义的以下预定义变量:$_REQUEST (获取GET/POST/COOKIE) COO…

2024-2025-1 20241412 《计算机基础与程序设计》第六周学习总结

学期(如2024-2025-5) 学号(如:20241404) 《计算机基础与程序设计》第5周学习总结 作业信息这个作业属于哪个课程 https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP这个作业要求在哪里 https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP/homework/13276这个作…

[论文阅读] VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION

写在前面 原文:https://arxiv.org/pdf/1409.1556 参考:https://www.cnblogs.com/lijiuliang/p/15133276.html 关键字:卷积网络、卷积网络深度、图像识别 阅读理由:卷积神经网络深度与算法优良性能之间的关系是什么,如何评估的,结果如何,有哪些思考 前置知识:CNN(也是我…

strlen函数的模拟实现

首先我们先新建项目,并新建源文件 然后先调用sring.h里的strlen函数看看该函数的效果 可以看到strlen的结果为字符串"abc"的长度 我们又知道对于字符串"abc"实际上在字符串尾部会存在\0,即字符串arr实际上是"abc\0" 那么先定义自定义函数my_st…

2024-2025-1(20241321)《计算机基础与程序设计》第六周学习总结

这个作业属于哪个课程 <班级的链接>(2024-2025-1-计算机基础与程序设计)这个作业要求在哪里 <作业要求的链接>(2024-2025-1计算机基础与程序设计第一周作业)这个作业的目标 <了解并学习AI功能,回顾一周课程心得>作业正文 ... 本博客链接https://www.cnblo…

Java学习十七—反射机制:解锁代码的无限可能

Java 反射(Reflection)是Java 的特征之一,它允许程序在运行时动态地访问和操作类的信息,包括类的属性、方法和构造函数。Java学习十七—反射机制:解锁代码的无限可能 一、关于反射 1.1 简介 Java 反射(Reflection)是Java 的特征之一,它允许程序在运行时动态地访问和操作类的…

行人闯红灯自动监测系统

行人闯红灯自动监测系统利用现场已有的监控摄像头,当路口有行人通过时,行人闯红灯自动监测系统设备自动监测识别是人体。一旦识别到人行横道区域有行人通行,系统就会自动判定并发出警告。同时,系统还能够识别红绿灯的状态,如果红灯亮起,系统就会通过声光联合告警,提醒行…

学校食堂互联网明厨亮灶方案

学校食堂互联网明厨亮灶方案利用现场已有的监控摄像头智能识别后厨人员穿戴情况,学校食堂互联网明厨亮灶方案针对没有戴厨师帽、口罩、工作服、玩手机、吸烟、垃圾桶未盖盖、明火离岗等违规行为的后厨人员第一时间进行识别、抓拍、报警提醒。这种方案通过AI技术实现了对后厨人…

变电站隔离刀闸状态自动识别系统

变电站隔离刀闸状态自动识别系统采用超高速动态图像并行处理算法,变电站隔离刀闸状态自动识别系统通过现场监控摄像头对隔离刀闸进行实时图像采集,并利用图像识别技术对刀闸状态进行自动判断。该系统可实现一站多组刀闸、多站多组刀闸位置、运行状态等同时检测,速度快,识别…

2,后台部署

基本流程图确保可通服务器客户端 ping 服务器外网IP地址安装应用服务通过LAMP,一键安装部署 命令生成地址:https:lnmp.org/auto.html (只针对PHP项目部署)安装服务验证检查Apache的服务是否运行sestemctl status httpd检查MySQL是否运行sestemctl status mysql检查PHP是否安装…