Day-24 异常 流
Throwable 父类
Exception 可以被处理 级别低 程序不终止
Error 没有办法被处理 程序终止
流 Stream
输入流 输出流 字节流 字符流
阻塞流 同步非阻塞流 异步非阻塞流
I O
I:
字节流 字符流
读取一个字符
FileReader reader = new FileReader("D:///.");
读一个字符 int c = reader.read()
(char)c 类型强转字符
读取一行
每次读取一个字符串
FileReader reader = new FileReader("D:///.");
BufferedReader br = new BufferedReader(reader); 读取一行的字符串 reader
br.readLine(); 读取一行
将字节转换字符
new IuputStreamReader() 也是一个流 将字节转换字符
BufferedReader br = new BufferedReader(new IuputStreamReader(System.in));
拼接两个文件 放在一个数组里边
buf 键盘录入的东西 5从第五个值开始放 一共放十个值
reader.read(buf, 5, 10);
输出流
一次录取一行 必须写换行
一次录取一行
打印输出流 自动换行 PrintWriter
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)