Java编写一个文件读取程序 要求:采用3种read方法读入文件 , 以16进制的形式显示读取文件的数据
时间: 2023-06-20 17:10:30 浏览: 92
以下是一个Java文件读取程序,使用了三种不同的读取方法,并以16进制的形式显示读取的数据:
```java
import java.io.*;
public class FileReadExample {
public static void main(String[] args) {
String fileName = "example.txt";
// 使用 FileInputStream 读取文件
try (FileInputStream fis = new FileInputStream(fileName)) {
int i;
while ((i = fis.read()) != -1) {
System.out.printf("%02X ", i);
}
System.out.println();
} catch (IOException e) {
e.printStackTrace();
}
// 使用 FileReader 读取文件
try (FileReader fr = new FileReader(fileName)) {
int i;
while ((i = fr.read()) != -1) {
System.out.printf("%02X ", i);
}
System.out.println();
} catch (IOException e) {
e.printStackTrace();
}
// 使用 BufferedReader 读取文件
try (BufferedReader br = new BufferedReader(new FileReader(fileName))) {
String line;
while ((line = br.readLine()) != null) {
for (char c : line.toCharArray()) {
System.out.printf("%02X ", (int) c);
}
System.out.println();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
以上代码使用了 FileInputStream、FileReader 和 BufferedReader 三种不同的读取方法来读取文件。其中 FileInputStream 和 FileReader 读取文件时,每次读取一个字节或一个字符,然后以16进制的形式输出;而 BufferedReader 则按行读取文件,并将每个字符转换为16进制输出。
需要注意的是,以上代码中的 try-with-resources 语句用于自动关闭文件流,确保程序正常退出时文件流被关闭。
阅读全文