Java IO流学习笔记
异常处理
异常概述
异常是Java程序在运行过程中出现的错误。异常可以被看作是问题的具体事务,通过Java类的形式进行描述,并封装成对象。
try {
// 可能产生异常的代码
int divisionResult = 10 / 0;
} catch (Exception e) {
e.printStackTrace();
}
异常分类
Java中的异常分为两大类:编译时异常和运行时异常。
异常处理方案
Java提供了两种异常处理方案:try...catch...finally
和 throws
。
try {
// 尝试执行的代码
} catch (ExceptionType name) {
// 异常发生时的处理代码
} finally {
// 一定会执行的代码
}
throws
和throw
throws
用于方法声明,表示该方法可能会抛出的异常类型。throw
用于方法体内,用于抛出一个具体的异常实例。
public void myMethod() throws IOException {
// 方法可能会抛出IOException
}
public void anotherMethod() {
throw new RuntimeException("发生了运行时异常");
}
File类
File类概述
File
类是文件和目录路径名的抽象表示形式。
File file = new File("path/to/your/file.txt");
if (file.exists()) {
System.out.println("文件存在");
}
成员方法
File
类提供了创建、删除、重命名、判断和获取文件属性的方法。
File dir = new File("path/to/your/directory");
if (dir.mkdir()) {
System.out.println("目录创建成功");
}
递归
递归思想概述
递归是方法定义中调用方法本身的现象,适用于能分解为相似子问题的问题。
public static int factorial(int n) {
if (n == 0) {
return 1;
} else {
return n * factorial(n - 1);
}
}
IO流概述
IO流定义
IO流用于处理设备之间的数据传输,如文件的读写。
IO流分类
- 数据流向:输入流(读入数据)和输出流(写出数据)。
- 数据类型:字节流和字符流。
字节流
字节流写数据
FileOutputStream
用于写入字节数据。
try (FileOutputStream fos = new FileOutputStream("path/to/your/file.txt")) {
fos.write("Hello, World!".getBytes());
} catch (IOException e) {
e.printStackTrace();
}
字节流读取数据
FileInputStream
用于读取字节数据。
try (FileInputStream fis = new FileInputStream("path/to/your/file.txt")) {
int content;
while ((content = fis.read()) != -1) {
System.out.print((char) content);
}
} catch (IOException e) {
e.printStackTrace();
}
转换流
转换流概述
转换流用于在字节流和字符流之间转换。
try (OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("path/to/your/file.txt"))) {
osw.write("Hello, World!");
} catch (IOException e) {
e.printStackTrace();
}
字符缓冲流
字符缓冲流概述
字符缓冲流提高了字符数据的读写效率。
try (BufferedWriter bw = new BufferedWriter(new FileWriter("path/to/your/file.txt"))) {
bw.write("Hello, World!");
} catch (IOException e) {
e.printStackTrace();
}
字符缓冲流特殊功能
BufferedWriter
的newLine()
和BufferedReader
的readLine()
提供了特殊功能。
try (BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("path/to/your/file.txt")))) {
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
Properties集合
Properties概述
Properties
集合用于处理配置文件。
Properties prop = new Properties();
try (InputStream input = new FileInputStream("config.properties")) {
prop.load(input);
} catch (IOException ex) {
ex.printStackTrace();
}
String username = prop.getProperty("username");
这份详细的笔记包括了异常处理、File类、递归、IO流的基本概念和操作、字符缓冲流以及Properties集合的使用,并通过简单的代码示例帮助理解。希望这份笔记能帮助你更好地掌握Java IO流。
标签:IO,try,File,catch,new,异常 From: https://www.cnblogs.com/bjynjj/p/18475027