flush方法和close方法的区别

flush:刷新缓冲区,流对象可以继续使用

close:先刷新缓冲区,然后通知系统释放资源。刘对象不可以再被使用了。

public class demo02 {
public static void main(String[] args) throws IOException {
//1.创建一个FileWriter对象,构造方法中绑定要写入数据的目的地
FileWriter fw = new FileWriter("Document\\1.txt");
//2.使用FileWriter中的方法write把数据写入到内存缓冲区中(字符转为字节的过程)
fw.write(97);
//3.使用FileWriter中的方法flush,把内存缓冲区中的数据,刷新到文件中
fw.flush();
//刷新流后可以继续使用
fw.write(98);
//4.释放资源(会先把内存缓冲区中的数据刷新到文件中)
fw.close();
//close方法之后流对象就已经关闭了从内存中消失了,就不能再使用了
fw.write(99);
}
}

字符输出流写数据的其他方法

字符输出流写数据的其他方法:

void write(char[] cbuf);写入字符数组

abstract void write(char[] cbuf,int off,int len);写入字符数组的某一部分,off是数组开始的索引,len写的字符个数

void write(String str)写入字符串

void write(char[] cbuf,int off,int len);写入字符串的某一部分,off是数组开始的索引,len写的字符个数

代码实现:

public class demo03 {
public static void main(String[] args) throws IOException {
FileWriter fw = new FileWriter("Document\\1.txt");
char[] cs = {'a','b','c','d'};
//void write(char[] cbuf);写入字符数组
fw.write(cs);//abcd //abstract void write(char[] cbuf,int off,int len);写入字符数组的某一部分,off是数组开始的索引,len写的字符个数
fw.write(cs,1,3);//bcd //void write(String str)写入字符串
fw.write("你好我是张三");//你好我是张三 //void write(char[] cbuf,int off,int len);写入字符串的某一部分,off是数组开始的索引,len写的字符个数
String str = "你好你好讷讷讷讷讷讷";
fw.write(str,3,6);//好讷讷讷讷讷 fw.close();
}
}

字符输出流的续写和换行

package com.yang.Test.IOStudy.OutStudy;

import java.io.FileWriter;
import java.io.IOException; /**
* 续写和换行
* 续写,追加写:使用两个参数的构造方法
* FileWriter(String fileName, boolean append);
* FileWriter(File file, boolean append);
* 参数:
* String fileName,File file:写入数据的目的地
* boolean append:续写开关 true:不会创建新的文件覆盖源文件,可以续写;false:创建新的文件覆盖源文件
* 换行:换行符号
* windows:\r\n
* linux:/n
* mav:/r
*/
public class demo04 {
public static void main(String[] args) throws IOException {
FileWriter fw = new FileWriter("Document\\1.txt",true); for (int i = 0; i < 10; i++) {
fw.write("HelloWorld"+i+"\r\n");
} fw.close();
}
}

flush方法和close方法的区别和字符输出流写数据的其他方法和字符输出流的续写和换行的更多相关文章

  1. flush方法和close方法的区别

    package com.yhqtv.demo05.Writer; import java.io.FileWriter; /* * @author XMKJ yhqtv.com Email:yhqtv@ ...

  2. ThinkPHP的D方法和M方法的区别

    M方法和D方法的区别 ThinkPHP 中M方法和D方法都用于实例化一个模型类,M方法 用于高效实例化一个基础模型类,而 D方法 用于实例化一个用户定义模型类. 使用M方法 如果是如下情况,请考虑使用 ...

  3. M方法和D方法的区别

    M方法和D方法的区别 ThinkPHP 中M方法和D方法都用于实例化一个模型类,M方法 用于高效实例化一个基础模型类,而 D方法 用于实例化一个用户定义模型类. 使用M方法 如果是如下情况,请考虑使用 ...

  4. JAVA反射中的getFields()方法和getDeclaredFields ()方法的区别

    JAVA反射中的getFields()方法和getDeclaredFields ()方法的区别   关于获取类的字段有两种方式:getFields()和getDeclaredFields().我们先来 ...

  5. Exception 的 toString() 方法和 getMessage() 方法的区别

    Exception 的 toString() 方法和 getMessage() 方法的区别: 在开发的过程中打印错误日志时尽量使用e.toString() 方法, 因为当错误为空指针时 e.getMe ...

  6. ExtJS中listener方法和handler方法的区别

    listener方法和handler方法的区别在文档中的说明的太玄乎了,看不懂 listeners监听能够对一个click Event事件添加任意多个的事件响应处理函数 而handler处理只能够通过 ...

  7. MongoDB save()方法和insert()方法的区别

    MongoDB save()方法和insert()方法的区别 首先看官方文档怎么说的 Updates an existing document or inserts a new document, d ...

  8. 问题:ExecuteNonQuery 与 ExecuteScalar 结果: ExecuteNonQuery方法和ExecuteScalar方法的区别

    ExecuteNonQuery方法和ExecuteScalar方法的区别 ----ExecuteNonQuery():执行命令对象的SQL语句,返回一个int类型变量,如果SQL语句是对数据库的记录进 ...

  9. 2016/05/23 thinkphp M方法和D方法的区别

    M方法和D方法的区别 ThinkPHP 中M方法和D方法都用于实例化一个模型类,M方法 用于高效实例化一个基础模型类,而 D方法 用于实例化一个用户定义模型类. 使用M方法 如果是如下情况,请考虑使用 ...

随机推荐

  1. 个人&博客信息

                博客配置 服务器:无 配置链接:在博客园中安装皮肤 皮肤:GEEK by GUANGZAN           个人简介 本蒟蒻是广东中山人 如果您有一些问题,请发送邮件至mo ...

  2. 用c++语言socket库函数实现服务端客户端聊天室

    客户端 /* * 程序名:client.cpp,此程序用于演示socket的客户端 * 作者:C语言技术网(www.freecplus.net) 日期:20190525 */ #include < ...

  3. Hbase数据库安装部署

    Hbase单机版安装 hbase介绍 HBase – Hadoop Database是一个分布式的.面向列的开源数据库,该技术来源于Chang et al所撰写的Google论文"Bigta ...

  4. 难对齐、难保障、难管理?一文了解字节跳动如何解决数据SLA治理难题

    基于字节跳动分布式治理的理念,数据平台数据治理团队自研了SLA保障平台,目前已在字节内部得到广泛使用,并支持了绝大部分数据团队的SLA治理需求,每天保障的SLA链路数量过千,解决了数据SLA难对齐.难 ...

  5. Nvidia Triton使用教程:从青铜到王者

    1 相关预备知识 模型:包含了大量参数的一个网络(参数+结构),体积10MB-10GB不等 模型格式:相同的模型可以有不同的存储格式(可类比音视频文件),目前主流有torch.tf.onnx和trt, ...

  6. Nacos源码系列—订阅机制的前因后果(下)

    点赞再看,养成习惯,微信搜索[牧小农]关注我获取更多资讯,风里雨里,小农等你,很高兴能够成为你的朋友. 项目源码地址:公众号回复 nacos,即可免费获取源码 事件发布 在上一节中我们讲解了在Noti ...

  7. Linux用户权限集中管理方案

    一.问题 服务器多,各个服务器上的管理人员多,ROOT权限泛滥,经常导致文件莫名其妙丢失,老手和新手对服务器的熟知程度不同,安全存在不稳定和操作安全隐患. 二.方案 利用sudo配置指定用户只能执行指 ...

  8. 使用 Postman 实现 API 自动化测试

    背景介绍 相信大部分开发人员和测试人员对 postman 都十分熟悉,对于开发人员和测试人员而言,使用 postman 来编写和保存测试用例会是一种比较方便和熟悉的方式.但 postman 本身是一个 ...

  9. Fail2ban 运维管理 服务控制

    启动监禁 启动所有或者单个监禁项目. # 语法:fail2ban-client start [监禁名称] root@ubuntu:~# fail2ban-client start sshd 停止监禁 ...

  10. 前端获取cookie,并解析cookie成JSON对象

    getCookie() { let strcookie = document.cookie; //获取cookie字符串 let arrcookie = strcookie.split("; ...