package com.fy.t1;
//导包
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
public class TestTryCatchFinalOuputStream {
public static void main(String[] args) {
/**
* 1.定义字节输入、输出流,字节输出缓冲流
* 2.设置文件字节输出流,通过write()将内存的数据写入指定路径的文件中
* 3.文件字节输入流,通过read()读取文件
*
*/
OutputStream os = null;//定义字节输出流,并定义为空
InputStream is = null;//定义字节输入流,并定义为空
BufferedOutputStream bos = null;//定义字节输出过滤流
try {
os = new FileOutputStream("C:\\Users\\15460\\Desktop\\1.txt");//父类引用指向子类,创建字节输出节点流,并设置了文件的路径
os.write('B');//调用写方法,在指定路径的文件中写入字符
is = new FileInputStream("C:\\Users\\15460\\Desktop\\1.txt");//父类引用指向子类,创建文件字节输入流,可以根据指定文件对象所指向的文件路径创建文件字节输入流对象
System.out.println(is.read());//读取单个字节所对应的十进制数,返回-1表示读完了
bos = new BufferedOutputStream(os);//定义字节输出缓冲流
bos.write(77);//输出写入文件,保存在缓冲区
bos.flush();//将缓冲区的数据刷新到文件中
//BufferedInputStream bis = new BufferedInputStream(is);
while (true) {
int n = is.read();//读取的十进制数赋值给变量n
if(n == -1) break;//用读取的n是否为-1判断文件是否读取完毕,因为字节输入流读取完毕输出-1读取完毕跳出循环
System.out.println((char)n );//输出字符
}
}catch (IOException e) {
// System.out.println(e.getMessage());
e.printStackTrace();//打印堆栈信息
}finally {
try {
if (is != null) {//判断字节输入流读取是否读取完毕
is.close();//关闭字节输入流
}
if (os != null) {//判断字节输出流是否为空
os.close();//关闭字节输出流
}
os.close();//关闭字节输出流
}catch (IOException e) {
e.printStackTrace();//打印堆栈信息
}
}
}
}
java_IO流案例代码分析
最新推荐文章于 2023-02-13 20:47:42 发布