Java 将文件转为二进制流
时间: 2024-05-16 13:15:57 浏览: 9
可以使用Java中的FileInputStream类来读取文件的二进制流。以下是一个示例代码:
```java
import java.io.*;
public class FileToBinary {
public static void main(String[] args) {
try {
File file = new File("example.txt");
FileInputStream fis = new FileInputStream(file);
byte[] data = new byte[(int) file.length()];
fis.read(data);
fis.close();
System.out.println("File in binary format: " + bytesToHex(data));
} catch (IOException e) {
e.printStackTrace();
}
}
private static final char[] HEX_ARRAY = "0123456789ABCDEF".toCharArray();
public static String bytesToHex(byte[] bytes) {
char[] hexChars = new char[bytes.length * 2];
for (int j = 0; j < bytes.length; j++) {
int v = bytes[j] & 0xFF;
hexChars[j * 2] = HEX_ARRAY[v >>> 4];
hexChars[j * 2 + 1] = HEX_ARRAY[v & 0x0F];
}
return new String(hexChars);
}
}
```
在这个例子中,我们首先创建一个File对象,然后使用FileInputStream类打开这个文件,并将其读取到一个byte数组中。最后,我们将byte数组转换为十六进制字符串并输出。
注意:这个例子是将整个文件读入内存,对于大文件可能会导致内存不足。对于大文件,应该使用缓冲读取方式,比如使用BufferedInputStream类。