Java 的文件处理和I/O(输入/输出)操作是 Java 编程中的基础部分,涉及到 java.io 包中的类和接口。本教程将带你了解如何在 Java 中进行基本的文件处理和I/O操作,包括读取和写入文件,以及使用流(Stream)进行数据的输入输出。
目录
1. 读取控制台输入
Java 控制台的输入通过 System.in 来完成。为了从控制台读取文本,可以将 System.in 包装在 BufferedReader 中。以下是创建 BufferedReader 的示例:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class ConsoleReadExample {
public static void main(String[] args) throws IOException {
// 使用 System.in 创建 BufferedReader
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入一些文本:");
String input = br.readLine();
System.out.println("你输入的内容是:" + input);
}
}
2. 从控制台读取多字符输入
如果你想从 BufferedReader 逐字符读取输入,可以使用 read() 方法。以下示例演示如何连续读取字符,直到输入字符 'q'。
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class ReadChars {
public static void main(String[] args) throws IOException {
char c;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("输入字符, 按下 'q' 键退出。");
// 逐字符读取
do {
c = (char) br.read();
System.out.println(c);
} while(c != 'q');
}
}
3. 从控制台读取字符串
读取控制台输入的一行文本可以使用 readLine() 方法。示例如下:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class ReadStrings {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str;
System.out.println("输入文本,输入 'end' 结束。");
do {
str = br.readLine();
System.out.println(str);
} while (!str.equals("end"));
}
}
4. 控制台输出
Java 控制台的输出使用 System.out.print() 和 System.out.println()。以下是简单的输出示例:
public class ConsoleOutput {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
5. 读写文件
Java 提供了 FileInputStream 和 FileOutputStream 类来进行文件的读写操作。
5.1 写入文件
以下是使用 FileOutputStream 将数据写入文件的示例:
import java.io.FileOutputStream;
import java.io.IOException;
public class WriteToFile {
public static void main(String[] args) {
try (FileOutputStream fos = new FileOutputStream("example.txt")) {
String str = "Hello, Java!";
byte[] strToBytes = str.getBytes();
fos.write(strToBytes);
System.out.println("文件写入成功。");
} catch (IOException e) {
e.printStackTrace();
}
}
}
5.2 读取文件
使用 FileInputStream 读取文件的示例:
import java.io.FileInputStream;
import java.io.IOException;
public class ReadFromFile {
public static void main(String[] args) {
try (FileInputStream fis = new FileInputStream("example.txt")) {
int i;
while ((i = fis.read()) != -1) {
System.out.print((char) i);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
通过这些基本的操作,你可以开始在 Java 程序中进行文件处理和I/O操作。这只是 java.io 包提供功能的冰山一角,随着你对 Java 的进一步学习,你将发现更多强大的功能来处理复杂的数据流和文件操作。
本文含有隐藏内容,请 开通VIP 后查看