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. python之名称空间与函数对象

    目录 名称空间 内置名称空间 全局名称空间 局部名称空间 名称的查找顺序 作用域 global关键字 nonlocal关键字 函数名的多种用法 函数的嵌套 名称空间 名称空间就是变量名与变量值绑定关系 ...

  2. 对比不同版本windows对libreoffice的支持情况

    由于最近需要用到libreoffice进行对文档转换为pdf,不光需要考虑在linux下的表现,还需要对比下Windows下的兼容性. 在网上各个论坛都找了下,以及libreoffice的中文社区发帖 ...

  3. CF 1015F

    题意:[CF 1015F](https://codeforces.com/contest/1015/problem/F) 给你一个模式串A(一个不一定合法的括号序列),让你构造长度为2*n的合法括号序 ...

  4. 【JSOI2016】最佳团体

    思路:二分答案+动态规划(结合dfs序) 类型:选/不选:最大比值 代码: #include<stdio.h> #include<bits/stdc++.h> using na ...

  5. C# 类继承中的私有字段都去了哪里?

    最近在看 C++ 类继承中的字段内存布局,我就很好奇 C# 中的继承链那些 private 字段都哪里去了? 在内存中是如何布局的,毕竟在子类中是无法访问的. 一:举例说明 为了方便讲述,先上一个例子 ...

  6. 轻松解决pycharm中游标变宽的问题

    所谓的知者易,惑者难,一招回到解放前,遇到下面这种问题的解决方法: 轻轻动动你那可爱的手指头点击一下 insert插入键便可以轻松切换到你想要的游标了,不要感谢哥,哥也只是个过客

  7. 【Java面试】请说一下ReentrantLock的实现原理?

    一个工作了3年的粉丝私信我,在面试的时候遇到了这样一个问题. "请说一下ReentrantLock的实现原理",他当时根据自己的理解零零散散的说了一些. 但是似乎没有说到关键点上, ...

  8. Eclipse for C/C++ 开发环境部署保姆级教程

    Eclipse for C/C++ 开发环境部署保姆级教程 工欲善其事,必先利其器. 对开发人员来说,顺手的开发工具必定事半功倍.自学编程的小白不知道该选择那个开发工具,Eclipse作为一个功能强大 ...

  9. C语言 - 基础数据结构和算法 - 单向链表

    听黑马程序员教程<基础数据结构和算法 (C版本)>,照着老师所讲抄的, 视频地址https://www.bilibili.com/video/BV1vE411f7Jh?p=1 喜欢的朋友可 ...

  10. 10分钟快速部署camunda BPM开源版

    安装部署Camunda BPM有多种方式,基于Camunda独立web应用程序安装部署是最简单的一种方式,您只需要有tomcat即可. 本文档将指导您安装和配置Camunda独立web应用程序,快速体 ...