文章目录

  • 1.什么是OutputStream?(输出流)
  • 2.使用FileOutputStream写出文件
    • 2.1 void write(int b) 向目的地写入一个字节
    • 2.2 void write(byte b[]) 向目的地写入多个字节
    • 2.3 void write(byte b[], int off, int len) 向目的地写入指定多个字节
    • 2.4 void flush() 如果使用的是缓冲流,需要调用这个方法一次写出

1.什么是OutputStream?(输出流)

在JavaAPI中,我们将可以向目的地写入一个字节序列的对象称为输出流。字节序列的来源地可以是文件,也可以是网络,还可以是内存块等等。
输出流根据每次写出的字节数量的不同分为字节输出流和字符输出流。 字节输出流每次都是写出一个字节的,而字符输出流每次写出都是根据基于两字节的字符为单位写出的。

2.使用FileOutputStream写出文件

在outputStream中的关键常用的方法是:write方法。

2.1 void write(int b) 向目的地写入一个字节

这个方法向目的地写入一个字节

/*** 每次写入单个字节* @throws IOException*/
public static void writeStudy() throws IOException {OutputStream outputStream = new FileOutputStream("四郎.txt");String str = "我是四郎";byte[] bytes = str.getBytes(StandardCharsets.UTF_8);for (byte b:bytes){outputStream.write(b);}
}

2.2 void write(byte b[]) 向目的地写入多个字节

这个方法一次向目的地写入多个字节。

/*** 一次写入多个字节* @throws IOException*/
public static void writeBytesStudy() throws IOException {OutputStream outputStream = new FileOutputStream("四郎.txt");String str = "我是四郎";byte[] bytes = str.getBytes(StandardCharsets.UTF_8);outputStream.write(bytes);
}

2.3 void write(byte b[], int off, int len) 向目的地写入指定多个字节

一次性写入字节数组b中指定范围的数据到目的地

/*** 从指定字节数组中选一部分进行写入* @throws IOException*/
public static void writeBytesLenStudy() throws IOException {OutputStream outputStream = new FileOutputStream("四郎.txt");String str = "我是四郎";byte[] bytes = str.getBytes(StandardCharsets.UTF_8);outputStream.write(bytes,2,2);
}

2.4 void flush() 如果使用的是缓冲流,需要调用这个方法一次写出

对于缓冲输出流,它的write方法并不会立即向磁盘中写入数据,而需要缓存满了或者调用flush方法立即写入

/*** 对于缓冲输出流,它的write方法并不会立即向磁盘中写入数据,* 而需要缓存满了或者调用flush方法立即写入* @throws IOException*/
public static void flushStudy() throws IOException {OutputStream outputStream = new BufferedOutputStream(new FileOutputStream("四郎.txt"));String str = "我是四郎";byte[] bytes = str.getBytes(StandardCharsets.UTF_8);outputStream.write(bytes);outputStream.flush();
}

代码地址:Java基础学习/src/main/java/Progress/exa20 · 严家豆/Study - 码云 - 开源中国 (gitee.com)

20.2 Java写文件之OutputStream学习相关推荐

  1. 20.1 Java读文件之InputStream学习

    文章目录 1.什么是InputStream(输入流)? 2.JDK中对InputStream的定义 2.1 使用FileInputStream读取文件 2.1.1 read() 使用实例 2.1.2 ...

  2. java 写文件 0x0d_Java的文件读写操作 转

    目录: file内存----输入流----程序----输出流----file内存 java中多种方式读文件 判断文件是否存在不存在创建文件 判断文件夹是否存在不存在创建文件夹 java 写文件的三种方 ...

  3. java 写文件 权限不够_教你解决Linux系统中JAVA创建文件后权限不足的问题

    在作业中,项目使用文件上传. 这个功能很常见. 当Kai Ge今天更改其官方帐户时,他遇到了一个问题,即无法访问下载的文件,也无法通过浏览器访问该文件. 它是怎么发生的? 经过许多问题之后,事实证明这 ...

  4. Java写文件不覆盖原内容

    使用Java写文件不覆盖原有内容 public void writeToTXT(String str){FileOutputStream o = null;String path="Your ...

  5. android java写文件_Android中文件的读写(一)----流操作

    因为自己的Java基本功不扎实,所以这篇文章主要介绍Java中的流操作,让自己再学习一下. Java IO Java IO中用于读写文件的四个抽象类:Reader,Writer,InputStream ...

  6. java 写文件 0x0d_Java 读写文件 - My and My Princess…… - OSCHINA - 中文开源技术交流社区...

    import java.io.File; import java.io.FileWriter; import java.io.IOException; /** * 对文本文件进行读写操作 */ pub ...

  7. java 写文件filewriter_使用FileReader和FileWriter读取写入文件内容

    1.Java的輸入与輸出 import java.io.DataInputStream; import java.io.IOException; public class InputAndOutput ...

  8. java写文件方法之比较

    import java.io.BufferedOutputStream; import java.io.File; import java.io.FileOutputStream; import ja ...

  9. java 写文件的三种方法比较

    原文:http://www.cnblogs.com/yezhenhan/archive/2012/09/10/2678690.html import java.io.File; import java ...

最新文章

  1. 并发编程之 源码剖析 线程池 实现原理
  2. boost::mp11::mp_unique相关用法的测试程序
  3. 前端js vue遇到的一些简单的数据处理-持续更新
  4. moxy json介绍_MOXy是GlassFish 4中新的默认JSON绑定提供程序
  5. 数据结构实验之排序七:选课名单
  6. CentOS 6快捷安装RabbitMQ教程
  7. 虚拟机无法接受组播消息_基于UDP的组播通信
  8. Qt4: Show an image in your widget – 在Qt里面显示图像
  9. android Cursor转换为model
  10. Java读写excel文件代码
  11. 2021年顶级服务器备份软件和解决方案
  12. 极力推荐--不错的delphi 学习网站与论坛---有待补充
  13. 中控智慧指纹采集器live20R用C二次开发,导入开发包时报错“HANDLE未定义”之类的错误
  14. 用HTML+CSS做一个漂亮简单的个人网页——樱木花道篮球3个页面 学生个人网页设计作品 学生个人网页模板 简单个人主页
  15. JSHOP2学习4:浅谈与SHOP2的区别
  16. 学了python还要学什么,学python先学什么
  17. python爬取国家统计局2019年行政区划分数据
  18. WLAN、LAN和WAP都是什么?
  19. 币泳金:短暂冲高后未能形成有效突破,BTC重返前期震荡箱体运行
  20. 如何编写单例模型?(饿汉和饱汉模式)

热门文章

  1. ConcurrentHashMap原理,在JKD7和JDK8版本的区别
  2. 英雄联盟原版下载器+解除wegame自动下载
  3. C语言函数指针和函数的首地址
  4. glog安装配置及使用
  5. 创意电子学-小知识:研究继电器
  6. 【CV】ViT:用于大规模图像识别的 Transformer
  7. 转: X264码率控制总结1——ABR,CQP,CRF
  8. JSP页面和html页面中文乱码的解决
  9. 20135337朱荟潼 Linux第六周学习总结——进程的描述和进程的创建
  10. 树莓派基于face_recognition人脸识别