下面是题目要求的详细攻略:
JAVA中读取文件(二进制,字符)内容的几种方法总结
一、读取二进制文件内容
1. FileInputStream
使用 FileInputStream
可以读取二进制文件的内容。
public static byte[] readContentByFileInputStream(String filePath) throws IOException {
File file = new File(filePath);
try (FileInputStream inputStream = new FileInputStream(file)) {
byte[] bytes = new byte[(int) file.length()];
inputStream.read(bytes);
return bytes;
}
}
使用示例:
byte[] bytes = readContentByFileInputStream("C:\\test\\binfile");
System.out.println(Arrays.toString(bytes));
2. NIO Channel
另一种读取二进制文件的方式是使用 NIO 中的 Channel
。
public static byte[] readContentByChannel(String filePath) throws IOException {
File file = new File(filePath);
try (RandomAccessFile randomAccessFile = new RandomAccessFile(file, "r");
FileChannel fileChannel = randomAccessFile.getChannel()) {
ByteBuffer buffer = ByteBuffer.allocate((int) fileChannel.size());
fileChannel.read(buffer);
return buffer.array();
}
}
使用示例:
byte[] bytes = readContentByChannel("C:\\test\\binfile");
System.out.println(Arrays.toString(bytes));
二、读取字符文件内容
1. FileReader
使用 FileReader
可以读取字符文件的内容。
public static String readContentByFileReader(String filePath) throws IOException {
File file = new File(filePath);
try (FileReader fileReader = new FileReader(file)) {
char[] cbuf = new char[(int) file.length()];
fileReader.read(cbuf);
return new String(cbuf);
}
}
使用示例:
String content = readContentByFileReader("C:\\test\\charfile.txt");
System.out.println(content);
2. BufferedReader
另一种读取字符文件的方式是使用 BufferedReader
。
public static String readContentByBufferedReader(String filePath) throws IOException {
File file = new File(filePath);
try (FileReader fileReader = new FileReader(file);
BufferedReader bufferedReader = new BufferedReader(fileReader)) {
StringBuilder stringBuilder = new StringBuilder();
String line;
while ((line = bufferedReader.readLine()) != null) {
stringBuilder.append(line);
}
return stringBuilder.toString();
}
}
使用示例:
String content = readContentByBufferedReader("C:\\test\\charfile.txt");
System.out.println(content);
以上就是读取二进制或字符文件内容的几种方法总结,希望对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JAVA中读取文件(二进制,字符)内容的几种方法总结 - Python技术站