字节流写数据:
字节抽象类基类:
InputStream: 这个抽象类是表示字节输入流的超类(被继承的类)
outputStream: 这个抽象类是表示字节输出流的所有类的超类
FileOutputStream: 文件输出流用于将数据写入File
字节流写数据:
FileOutputStream(String name): 创建文件输出流以指定的名称写入文件
FileOutputStream fileOutputStream = new FileOutputStream("xxx.txt");//创建输出路径
fileOutputStream.write(57);//写出的是字符
fileOutputStream.close();//关闭流
字节流写数据的3种方式:
void write(int b) //一次写一个字节
void write(byte[] b)//一次写一个字节数组的数据
void write(byte[] b,int off,int len)//一次写一个字节数组的部分数据
字节流写数据如何换行?
操作系统怎么识别换行?window \r\n linux \n mac\r
window为例:
FileOutputStream fileOutputStream = new FileOutputStream("C:\\a\\e.txt");//创建输出路径
for (int i = 0; i < 10; i++) {
fileOutputStream.write("hello".getBytes());
fileOutputStream.write("\r\n".getBytes());
}
fileOutputStream.close();//关闭流
字节流写数据如何实现追加写入?
给write给上第二个参数append写为true 不从开头开始写
FileOutputStream fileOutputStream = new FileOutputStream("C:\\a\\e.txt",true);//创建输出路径
for (int i = 0; i < 10; i++) {
fileOutputStream.write("hello".getBytes());
fileOutputStream.write("\r\n".getBytes());
}
fileOutputStream.close();//关闭流
finally:在异常处理执行finally里面的语句执行所有清除操作
字节流读数据:
FileInputStream: 从文件系统中的文件获取输入字节
void read 跟输出流大同小异
用char强制转换读到的数据
字节缓冲流:
BufferOutputStream
BufferInputStream
参数都需要一个字节输入流,采用一个缓存区,提高效率