当前位置: java基础教程 > 12-java.io基础IO包 > 阅读正文

FileOutPutStream 字节输出流

2021.2.7.   930 次   907字

此类可以输出任意类型的文件

1.导包
import java.io.FileOutputStream;
2.构造方法

构造方法可以是1个参数,或2个参数,

此类的构造方法,若目录不存在,均会抛出 FileNotFoundException 异常

第一个参数是必须的,可以是 文件字符串 或 File 类

//当目录存在时,就会创建(覆盖)一个空白的文件
FileOutputStream fos1 = new FileOutputStream("D:\\a.txt");
FIleOutputStream fos2 = new FileOutputStream(new File("D:\\b.txt"));

第二个参数,表示是否追加内容,(是否覆盖原有内容)

//当目录存在时,文件不存在会自动创建,第二参数true则追加
FileOutputStream fos3 = new FileOutputStream("D:\\c.txt",true);
FileOutputStream fos4 = new FileOutputStream("D:\\d.txt",false);
3.方法

写入字节的 ASCII 码(即二进制),系统会自动转换为文字

若是不在 ASCII 码表,则会查找默认码表,可能会把几个字节合并为一个中文字节

write 方法,会抛出 IOException ,需要处理异常

1.写入一个字节

fos1.write(97);  // --> a

2.写入多个字节

byte[] b = {49,48,48}; 
fos1.write(b); // --> 100
byte[] b2 = {-65,-66,-67,68,69}; 
fos2.write(b2);  // --> 烤紻E ,前4个字节,两两合并为中文
//  为方便输出文字,可以使用 String.getBytes() 方法,输出文字

3. 输出换行 (\r回车,\n换行,防止被编辑器识别失败,所有使用 \r\n)

fos3.write("第一行".getBytes());
fos3.write("\r\n".getBytes());  
fos3.write("第二行".getBytes());

4.关闭流

//通常都需要关闭流,以节省内存
fos1.close();
fos2.close();  

本篇完,还有疑问?

加入QQ交流群:11500065636 IT 技术交流群