这篇文章主要介绍了 java IO 流 之 输出流 OutputString()的使用的相关资料, 需要的朋友可以参考下
FileOutPutStream: 子类, 写出数据的通道
步骤:
1. 获取目标文件
2. 创建通道(如果原来没有目标文件, 则会自动创建一个)
3. 写入数据 write()
4. 释放资源
注意:
(1)如果目标文件不存在, 那么会自己创建一个目标文件
(2)如果目标文件存在, 先将里面的数据清空, 再写入数据
(3)想在原有的数据上写入数据, 则在创建通道的时候使用 构造方法:
OutPutStream(File file,Boolean append),boolean 值为 true 则可以
(4)用 write(int a)方法写入数据, 虽然接收的是 int, 但实际上只有一个字节的数据
(操作的是低八位的, 其他的全部丢掉)
- // 会自动导入一些包
- import java.io.File;
- import java.io.FileOutputStream;
- import java.io.IOException;
- // 方式一
- public static void writeData() throws IOException{
- //1. 找目标文件
- File file = new File("C:\\Users\\bigerf\\Desktop\\ 文件夹 \\writeTest.java");
- //2. 创建一个通道
- FileOutputStream outputStream = new FileOutputStream(file);
- //3. 开始写入数据,
- int a = 10; // int 型 4 个字节
- outputStream.write(a); // 注意这里每次只能输出一个字节
- outputStream.write('b'); // char 类型
- outputStream.write(5);
- // 0000-0000 0000-0000 0000-0001 1111-1111 == 511
- int b = 511 ; // 大于八位(9 位)
- outputStream.write(b); // 实际结果 255, 但没有显示
- int c = 63; // 小于八位(6 位)
- outputStream.write(c); // 乱码
- //4. 关闭资源
- outputStream.close();
- }
- // 方式二
- public static void writeData2() throws IOException{
- //1. 找目标文件
- File file = new File("C:\\Users\\bigerf\\Desktop\\ 文件夹 \\writeTest2.java");
- //2. 创建一个通道,(如果不存在路径中的文件, 则会在这一步创建的文件)
- //new FileOutputStream(file,true); /true 表示在原来文本的基础上写入文本(反之则会先清空再写入)
- FileOutputStream outputStream = new FileOutputStream(file,true);
- //3. 创键一个字节数组
- String str = "hello word";
- // 将字符串变为字节数组
- byte[] b = str.getBytes();
- //4. 写入数据
- outputStream.write(b); //hello word
- //5. 关闭资源
- outputStream.close();
- }
陌陌说:
输入流与输出流可以实现对文件的拷贝, 不妨试着实现
(先将路径文件的数据拷贝写入到字节数组, 再从字节数组写出道路径文件)
来源: http://www.phperz.com/article/18/0223/359242.html