0424-字节输出流FileOutputStream
package A10_IOStream; import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Arrays; /*
java.io.OutputStream:字节输出流,此抽象类是表示所有字节输出流的超类。
共性方法:
void close() 关闭此输出流并释放与此流有关的所有系统资源。
void flush() 刷新此输出流并强制写出所有缓冲的输出字节。
void write(byte[] b) 将b.length个字节从指定的 byte 数组写入此输出流。
void write(byte[] b, int off, int len) 将指定 byte 数组中从偏移量 off 开始的 len 个字节写入此输出流。
abstract void write(int b) 将指定的字节写入此输出流。 FileOutputStream:文件字节输出流
作用:把内存中的数据写入到硬盘文件中
构造方法:
FileOutputStream(File file) 创建一个向指定 File 对象表示的文件中写入数据的文件输出流。
FileOutputStream(File file, boolean append) 追加写,创建一个向指定 File 对象表示的文件中写入数据的文件输出流。
FileOutputStream(String name) 创建一个向具有指定名称的文件中写入数据的输出文件流。
FileOutputStream(String name, boolean append) 追加写,创建一个向具有指定 name 的文件中写入数据的输出文件流。
构造方法的作用:
1.创建一个FileOutputStream对象
2.根据构造方法中传递的文件/文件路径,创建一个空的文件
3.会把FileOutpuStream对象指向创建好的文件
*/
public class D01_FileOutpuStream {
public static void main(String[] args) throws IOException {
FileOutputStream fos = new FileOutputStream("test.txt"); //创建文件输出流
//调用write方法单个字节写入文件
fos.write(97); //写入字符a
/*
write(byte[] b)
一次写多个字节
如果写的第一个字节是正数(0-127),那么显示的时候会查询ASCII表
如果写的第一个字节是负数,那第一个字节会和第二个字节,两个字节组成一个中文显示,查询系统默认码表(GBK)
*/
byte[] bytes = {65, 66, 67, 68, 69}; //ABCDE
fos.write(bytes); //字节数组写入
String str = "中国";
fos.write(str.getBytes()); //写入字符串转换后的数组
System.out.println(Arrays.toString(str.getBytes())); //[-28, -72, -83, -27, -101, -67] UTF-8编码,每个汉字占三个字节
// 字符串部分写入
str="我爱你!";
fos.write(str.getBytes(),3,6); //爱你(每个汉字是三个字节)
fos.close(); //关闭输出流释放资源
// 追加写与换行符,换行符 windows:\r\n linux:/n mac:/r
fos = new FileOutputStream("test.txt",true); //追加写方式创建文件输出流
for (int i = 0; i < 10; i++) {
fos.write("\r\n".getBytes());
fos.write(("你好"+i).getBytes());
}
fos.close();
}
}
0424-字节输出流FileOutputStream的更多相关文章
- 字节输出流FileOutputStream
#字节流 字节输出流FileOutputStream 创建输出流对象 OutputStream 流对象是一个抽象类,不能实例化.所以,我们要找一个具体的子类 :FileOutputStream. 查看 ...
- 字节输出流 FileOutputStream
输入和输出 : 参照物 都是java程序来参照 output 内存---->硬盘 input 持久化数据-->内存 字节流输出 定义:流按照方向可以分为输入和输出流 字节流 :可以操作任何 ...
- 一切皆为字节和字节输出流_OutputStream类&FileOutputStream类介绍
一切皆为字节 一切文件数据(文本.图片.视频等)在存储时,都是以二进制数字的形式保存,都一个一个的字节,那么传输时一样如此.所以,字节流可以传输任意文件数据.在操作流的时候,我们要时刻明确,无论使用什 ...
- java 20 - 9 带有缓冲区的字节输出流和字节输入流
由之前字节输入的两个方式,我们可以发现,通过定义数组读取数组的方式比一个个字节读取的方式快得多. 所以,java就专门提供了带有缓冲区的字节类: 缓冲区类(高效类) 写数据:BufferedOutpu ...
- java 20 - 6 加入了异常处理的字节输出流的操作
昨天坐了十几个钟的车回家,累弊了.... ————————————割掉疲劳————————————— 前面的字节输出流都是抛出了异常不管,这次的加入了异常处理: 首先还是创建一个字节输出流对象,先给它 ...
- java 20 - 5 字节输出流写出数据的一些方法
首先回顾下 字节输出流操作步骤: A:创建字节输出流对象 B:调用write()方法 C:释放资源 创建字节流输出对象 FileOutputStream fos = new FileOutput ...
- Java输出流FileOutputStream使用详解
Java输出流FileOutputStream使用详解 http://baijiahao.baidu.com/s?id=1600984799323133994&wfr=spider&f ...
- FileOutputSream文件字节输出流
1.FileOutputSream文件字节输出流: 输入--写出--使用: 输出--写入--存储: 写出写入是对硬盘而言: 其中,OutputStream为所有类型的字节输出流的超类: FileO ...
- 021.2 IO流——字节输出流
内容:流的分类,文件写入(字节输出流),异常处理,获取一个文件夹下的特定文件集合 字节流的抽象基类:InputStream,OutputStream字符流的抽象基类:Reader,Writer由这四个 ...
- java IO流 之 字节输出流 OutputString()
Java学习重点之一:OutputStream 字节输出流的使用 FileOutPutStream:子类,写出数据的通道 步骤: 1.获取目标文件 2.创建通道(如果原来没有目标文件,则会自动创建一个 ...
随机推荐
- 贴代码框架PasteForm特性介绍之markdown和richtext
简介 PasteForm是贴代码推出的 "新一代CRUD" ,基于ABPvNext,目的是通过对Dto的特性的标注,从而实现管理端的统一UI,借助于配套的PasteBuilder代 ...
- Xdebug+Phpstorm远程调试
开发环境: 本地 Windows10 日常开发使用的环境 装有PHPStorm 远程主机 Linux 服务器 装php-fpm/nginx等所有开发依赖环境 本地可以访问远程主机 但远程主机无法访问本 ...
- MiniTomcat 系列:第一章:解锁实现基础 HTTP 服务器的奥秘
第一步:实现基础 HTTP 服务器 在这一章中,我们将从零开始编写一个简单的 HTTP 服务器.这个服务器的基本功能是监听一个端口,接收来自客户端的 HTTP 请求,并返回一个 HTTP 响应.我们将 ...
- Postman 汉化教程
Postman 汉化教程(Postman中文版) 迷恋自留地 postman官网下载地址 https://www.postman.com/downloads/ postman汉化包 https://g ...
- 渗透测试-前端验签绕过之SHA256+RSA
本文是高级前端加解密与验签实战的第2篇文章,本系列文章实验靶场为Yakit里自带的Vulinbox靶场,本文讲述的是绕过SHA256+RSA签名来爆破登录. 绕过 根据提示可以看出这次签名用了SHA2 ...
- 中电金信召开“源启 AI+”人工智能应用场景与发展培训暨业务研讨会
近年来,国务院国资委把加快发展人工智能放在国资央企全局工作中统筹谋划,作为产业焕新行动和启航行动部署的主要方向,制定印发行动计划,组织召开中央企业人工智能专题推进会,开展"AI+" ...
- docker 1.13版本修改默认存储路径及添加私有registry
1.服务器安装dockeryum install docker -y12.修改配置文件方法1: 编辑 `/etc/sysconfig/docker`文件 修改`OPTION`选项 添加 --insec ...
- Http2服务调用排坑记
原文作者:陈友行原文链接:https://www.nginx.org.cn/article/detail/89转载来源:NGINX开源社区著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...
- Netty 缓存buffer介绍及使用
每当你需要传输数据时,它必须包含一个缓冲区.Java NIO API 自带的缓冲区类是相当有限的,没有经过优化,使用 JDK 的ByteBuffer 操作更复杂.缓冲区是一个重要的组建,它是 API的 ...
- Sealos Devbox 基础教程:使用 Cursor 从零开发一个 One API 替代品
随着技术的成熟和 AI 的崛起,很多原本需要团队协作才能完成的工作现在都可以通过自动化和智能化的方式完成.于是乎,单个开发者的能力得到了极大的提升 - 借助各种工具,一个人就可以完成开发.测试.运维等 ...