FileOutputStream 文件字节输出流的作用
构造器、方法
利用构造器创建文件字节输出流管道和目标文件接通
1、第一种是覆盖管道
2、第二种是可追加数据的管道
//1、创建一个文件字节输出流管道与目标文件接通
//OutputStream os = new FileOutputStream("day03-file-io/src/dlei05-out.txt"); 覆盖管道
OutputStream os = new FileOutputStream("day03-file-io/src/dlei05-out.txt", true);//可追加
调用write方法写入数据到文件中
注意点
1、第一种只可以写一个字节到文件中,如果你写一个汉字,运行不会报错,但是会出现汉字乱码问题。因为汉字是三个字节,但是这个方法只写了一个字节出去,截断了汉字。
2、os.write("\r\n".getBytes()); 这行代码把 换行符 当成字符串,然后对字符串编码(编程字节码)。使用的是第二种write方法,写一个字节数组到文件中
3、\r\n也表示换行符,这种写法的兼容性更好。\n只可以在windows系统中使用
//1、写一个字节数据到文件中
os.write(97); //只可以写一个字节
os.write('徐'); //会出现乱码,因为汉字是三个字节,而write方法只能写入一个字节,所以会出现乱码
os.write("\r\n".getBytes());//把换行符当成字符串,然后对字符串编码。\r\n这种写法的兼容性更好
//2、写一个字节数组到文件中
byte[] bytes = {97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122};
byte[] bytes1 = "我爱你中国".getBytes();
os.write(bytes);
os.write("\r\n".getBytes());
os.write(bytes1);
//3、写一个字节数组的一部分出去
os.write(bytes1,0,3);
os.write("\r\n".getBytes());