package com.shujia.day16.ketang;
import java.io.File;
import java.io.FileOutputStream;
/*
IO流:输入输出流
按照流向划分:
输入流:将外部存储数据 --> java
输出流:java --> 外部存储工具中
按照类型划分:
字节流(万能流):
字节输出流:
OutputStream(抽象类)
- 实现子类:FileOutputStream
字节输入流:
InputStream
字符流:
字符输入流:
字符输出流:
FileOutputStream:
构造方法:
FileOutputStream(File file) 创建文件输出流以写入由指定的 File对象表示的文件。
FileOutputStream(String name) 创建文件输出流以指定的名称写入文件。
需求:往一个文本文件中写一句话:”helloworld”
*/
public class FileOutputStreamDemo1 {
public static void main(String[] args) throws Exception{
//FileOutputStream(File file) 需要先将目标文件封装成一个File对象放入到构造方法
// File file = new File("src/com/shujia/day16/data/a2.txt");
// //若写入的目标文件不存在的话,会自动创建一个
// FileOutputStream fos = new FileOutputStream(file);
//FileOutputStream(String name)
FileOutputStream fos = new FileOutputStream("src/com/shujia/day16/data/a2.txt");
System.out.println(fos);
}
}
package com.shujia.day16.ketang;
import java.io.FileOutputStream;
import java.io.IOException;
/*
public void write(int b) 写一个字节
public void write(byte[] b) 一次写一个字节数组
public void write(byte[] b,int off,int len) 一次写字节数组的一部分
思考:
1、怎么实现追加写?
*/
public class FileOutputStreamDemo2 {
public static void main(String[] args) {
FileOutputStream fos = null;
try {
fos = new FileOutputStream("src/com/shujia/day16/data/a3.txt");
//public void write(int b)
//写一个字节
// fos.write(97);
// fos.write(98);
// fos.write(99);
// fos.write(100);
//public void write(byte[] b) // 一次写一个字节数组
byte[] bytes = {97, 98, 99, 100, 101, 102, 103};
// fos.write(bytes);
//public void write(byte[] b,int off,int len) 一次写字节数组的一部分
fos.write(bytes,2,3);
} catch (Exception e) {
e.printStackTrace();
} finally {
//释放写数据资源
if (fos != null) {
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
package com.shujia.day16.ketang;
import java.io.FileOutputStream;
/*
思考:
1、怎么实现追加写?
2、怎么实现换行?
*/
public class FileOutputStreamDemo3 {
public static void main(String[] args) throws Exception {
//若文件已经存在,会将文件中的内容清空,若想要实现追加,在传入路径之后,append属性给true
FileOutputStream fos = new FileOutputStream("src/com/shujia/day16/data/a3.txt",true);
fos.write("\r\n".getBytes());
fos.write(110);
fos.write(111);
fos.write(112);
fos.close();
//释放资源之后无法再继续使用了
// fos.write(113);
}
}
标签:输出,fos,void,write,day16,FileOutputStream,public
From: https://www.cnblogs.com/qiwei-bigdata/p/18361896