1. 流(Stream):
流是一种用于处理输入和输出的抽象概念。在 Java 中,流可以分为输入流(InputStream)和输出流(OutputStream)。流的操作是逐个字节或字符进行的。
字节流(Byte Streams):
字节流用于处理二进制数据,通常用于处理图像、音频、视频等文件。
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class ByteStreamExample {
public static void main(String[] args) {
try {
// 输入流读取文件
FileInputStream input = new FileInputStream("input.txt");
int data;
while ((data = input.read()) != -1) {
System.out.print((char) data);
}
input.close();
// 输出流写入文件
FileOutputStream output = new FileOutputStream("output.txt");
String text = "Hello, Java!";
output.write(text.getBytes());
output.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
字符流(Character Streams):
字符流用于处理文本数据,以字符为单位进行操作,适用于处理文本文件。
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class CharacterStreamExample {
public static void main(String[] args) {
try {
// 输入流读取文件
FileReader reader = new FileReader("input.txt");
int data;
while ((data = reader.read()) != -1) {
System.out.print((char) data);
}
reader.close();
// 输出流写入文件
FileWriter writer = new FileWriter("output.txt");
String text = "Hello, Java!";
writer.write(text);
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
2. 文件(File):
File 类用于表示文件或目录的路径。它提供了一些方法用于检查文件属性、创建文件、删除文件等。
import java.io.File;
public class FileExample {
public static void main(String[] args) {
// 创建 File 对象
File file = new File("example.txt");
// 检查文件是否存在
if (file.exists()) {
System.out.println("File exists");
} else {
System.out.println("File does not exist");
}
// 获取文件名
String fileName = file.getName();
System.out.println("File Name: " + fileName);
// 获取文件路径
String filePath = file.getAbsolutePath();
System.out.println("File Path: " + filePath);
// 创建新文件
try {
if (file.createNewFile()) {
System.out.println("File created successfully");
} else {
System.out.println("File already exists");
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
3. I/O(输入/输出):
Java 提供了 java.io 包来支持输入和输出操作。InputStream 和 OutputStream 是用于处理字节的基本 I/O 类,而 Reader 和 Writer 是用于处理字符的基本 I/O 类。
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class BufferedReaderWriterExample {
public static void main(String[] args) {
try {
// 使用 BufferedReader 读取文件
BufferedReader reader = new BufferedReader(new FileReader("input.txt"));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
reader.close();
// 使用 BufferedWriter 写入文件
BufferedWriter writer = new BufferedWriter(new FileWriter("output.txt"));
writer.write("Hello, Java!");
writer.newLine(); // 写入换行符
writer.write("This is a new line.");
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
这只是关于 Java 流、文件和 I/O 的一些基本概念和示例。在实际应用中,通常会使用更高级的类和方法来简化 I/O 操作,例如 Scanner、PrintWriter、Files 等。
转载请注明出处:http://www.zyzy.cn/article/detail/420/Java