Java IO 基本概念
java IO(Input/Output)是Java编程语言中用于处理输入输出的标准库。
Java IO库提供了一系列类和接口,用于读取和写入数据流,以及对文件系统进行操作。
在Java IO中,数据流被抽象为一个流(Stream)的概念,数据从一个流中读取或写入到另一个流中。
Java IO 分类及作用
Java IO流可以分为两类:字节流和字符流
InputStream/Reader: 所有的输入流的基类,前者是字节输入流,后者是字符输入流。 OutputStream/Writer: 所有输出流的基类,前者是字节输出流,后者是字符输出流。
字节流以字节为单位进行读写,而字符流以字符为单位进行读写。
字节流主要用于处理二进制数据,如图像、音频、视频等文件。
而字符流主要用于处理文本数据,如文本文件、配置文件等。
Java IO流还可以分为输入流和输出流。
输入流用于从数据源中读取数据,输出流用于向目标中写入数据。
在Java IO中,输入流和输出流都是抽象类,具体的实现类包括FileInputStream、FileOutputStream、BufferedInputStream、BufferedOutputStream等。
Java IO流支持一些高级特性,如缓冲、过滤器、对象序列化等。缓冲可以提高读写效率,过滤器可以对数据进行处理,对象序列化可以将对象转换为字节流进行传输和存储
文件操作:Java IO读写文件,包括文件的创建、删除、重命名等操作案例
1. 文件的创建
File file = new File("example.txt");
try {
if (file.createNewFile()) {
System.out.println("File created: " + file.getName());
} else {
System.out.println("File already exists.");
}
} catch (IOException e) {
System.out.println("An error occurred.");
e.printStackTrace();
}
2. 写入文件
try {
FileWriter writer = new FileWriter("example.txt");
writer.write("Hello World!");
writer.close();
System.out.println("Successfully wrote to the file.");
} catch (IOException e) {
System.out.println("An error occurred.");
e.printStackTrace();
}
3读取文件
try {
FileReader reader = new FileReader("example.txt");
int character;
while ((character = reader.read()) != -1) {
System.out.print((char) character);
}
reader.close();
} catch (IOException e) {
System.out.println("An error occurred.");
e.printStackTrace();
}
4.删除文件
File file = new File("example.txt");
if (file.delete()) {
System.out.println("File deleted: " + file.getName());
} else {
System.out.println("Failed to delete the file.");
}
5. 重命名文件
File file = new File("example.txt");
File newFile = new File("new_example.txt");
if (file.renameTo(newFile)) {
System.out.println("File renamed successfully.");
} else {
System.out.println("Failed to rename the file.");
}