Java 如何将文件中的字节读取到byte[]数组?
我正在编写一个Java程序,它使用RSA加密给定的文本,并将加密的字节(byte[]数组)保存在一个.txt文件中。有一个单独的解密程序读取这些字节。现在我想将相同的字节读入解密程序中的字节[]。如何使用Java实现这一点Java 如何将文件中的字节读取到byte[]数组?,java,file,byte,bytearray,Java,File,Byte,Bytearray,我正在编写一个Java程序,它使用RSA加密给定的文本,并将加密的字节(byte[]数组)保存在一个.txt文件中。有一个单独的解密程序读取这些字节。现在我想将相同的字节读入解密程序中的字节[]。如何使用Java实现这一点 BufferedReader brip = new BufferedReader(new FileReader("encrypted.txt")); Strings CurrentLine = brip.readLine(); byte[] b = sCurrentLine.
BufferedReader brip = new BufferedReader(new FileReader("encrypted.txt"));
Strings CurrentLine = brip.readLine();
byte[] b = sCurrentLine.getBytes();
这就是我从文件中读取数据的方式。但这是错误的,因为它将sCurrentLine变量中的字节再次转换为字节。在Java 7中,可以使用Files类的方法。见下文:
Path fileLocation = Paths.get("C:\\test_java\\file.txt");
byte[] data = Files.readAllBytes(fileLocation);
有很多其他的方法可以做到这一点,这段代码对我很有用,在android项目中,希望它能对你有用
private byte[] getByte(String path) {
byte[] getBytes = {};
try {
File file = new File(path);
getBytes = new byte[(int) file.length()];
InputStream is = new FileInputStream(file);
is.read(getBytes);
is.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return getBytes;
}
你有没有试过读它?请通过显示示例代码来演示解决问题的一些尝试。如果你不知道从哪里开始,谷歌总是一个不错的选择。告诉我们你到目前为止做了什么。这里一切都错了。加密数据不是文本;不应存储在名为.txt的文件中;不包含行;不能用
读取器读取。
使用输入流。
这只适用于较小的文件。