异常 流

2020-11-04 / 0 评论 / 18 阅读 / 正在检测是否收录...

Day-24 异常 流

Throwable 父类

Exception 可以被处理 级别低 程序不终止

Error 没有办法被处理 程序终止

流 Stream

输入流 输出流 字节流 字符流

阻塞流 同步非阻塞流 异步非阻塞流

I O

I:

字节流 字符流

读取一个字符

image-20211103224944040

FileReader reader = new FileReader("D:///.");

读一个字符 int c = reader.read()

​ (char)c 类型强转字符

读取一行

image-20211103225010687

每次读取一个字符串

FileReader reader = new FileReader("D:///.");

BufferedReader br = new BufferedReader(reader); 读取一行的字符串 reader

br.readLine(); 读取一行

将字节转换字符

image-20211103225810450

new IuputStreamReader() 也是一个流 将字节转换字符

BufferedReader br = new BufferedReader(new IuputStreamReader(System.in));

拼接两个文件 放在一个数组里边

image-20211103230921896

buf 键盘录入的东西 5从第五个值开始放 一共放十个值

reader.read(buf, 5, 10);

输出流

一次录取一行 必须写换行

image-20211103235227496

一次录取一行

打印输出流 自动换行 PrintWriter

image-20211103234741490

FileWriter writer = new FileWriter("E:/ceshi/zx.txt");
//打印输出流
PrintWriter pw = new PrintWriter(writer);
Scanner scanner = new Scanner(System.in);
String str = "";
while (!(str = scanner.nextLine()).equals("bye")) {
        pw.print(str);
}
pw.flush();

复制文件

/**
     * 复制文件夹
     */
    public static void copy(String str , String str1) {
        FileReader reader = null;
        FileWriter writer = null;
        try {
            //读取文件
            reader = new FileReader(str);
            //将每次读取读取一个转换成 读取一行
            BufferedReader br = new BufferedReader(reader);
            //要复制的地方
            writer = new FileWriter(str1);
            //没次写入一行
            PrintWriter pw = new PrintWriter(writer);            
            String st;
            while((st = br.readLine()) != null) {
                //写入一行换行
                pw.println(st);
            }
            //冲一下
            pw.flush();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally {
            //释放资源
            try {
                reader.close();
                writer.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }
本文共 247 个字数,平均阅读时长 ≈ 1分钟
0

打赏

海报

正在生成.....

评论 (0)

取消