如何从文件中读取字节到一个 byte[] 数组中?

12 浏览
0 Comments

如何从文件中读取字节到一个 byte[] 数组中?

我正在编写一个使用RSA加密给定文本并将加密后的字节(byte[]数组)保存在一个.txt文件中的Java程序。有一个单独的解密程序可以读取这些字节。现在我想在解密程序中将相同的字节读入一个byte[]中。如何使用Java实现这个?

BufferedReader brip = new BufferedReader(new FileReader("encrypted.txt"));
String CurrentLine = brip.readLine();
byte[] b = CurrentLine.getBytes();

这是我从文件中读取数据的方法。但这是错误的,因为它将sCurrentLine变量中的字节再次转换为字节。

0
0 Comments

这段代码展示了如何从一个文件中读取字节到一个byte[]数组中。这段代码适用于Android项目,并且希望对你也有帮助。

首先,我们定义了一个私有方法`getByte`,该方法接受一个字符串参数`path`,表示要读取的文件的路径。

然后,我们声明了一个空的byte[]数组`getBytes`,用于存储读取到的字节数据。

在`try`块中,我们创建了一个File对象,该对象使用传入的路径初始化。然后,我们通过调用`file.length()`方法获取文件的长度,并将其强制转换为int类型,作为byte[]数组的长度。

接下来,我们创建了一个FileInputStream对象`is`,并将其初始化为打开指定文件的输入流。

然后,我们调用`is.read(getBytes)`方法,将文件中的字节读取到`getBytes`数组中。

最后,我们调用`is.close()`方法关闭输入流,并返回`getBytes`数组。

在`catch`块中,我们捕获了FileNotFoundException和IOException异常,并在控制台打印了异常堆栈跟踪信息。

通过调用这个方法,并传入要读取的文件的路径,我们可以获得一个包含文件字节的byte[]数组。

希望这段代码能对你有所帮助!

0
0 Comments

从上述内容中,我们可以看出这篇文章的主要内容是关于如何将文件中的字节读取到字节数组中的问题。文章提到了使用Java 7中的Files类的readAllBytes()方法可以实现这个功能。具体代码如下:

Path fileLocation = Paths.get("C:\\test_java\\file.txt");
byte[] data = Files.readAllBytes(fileLocation);

此外,文章还提到了其他一些实现这个功能的方法,可以在这里和这里找到更多信息。然而,需要注意的是这种方法只适用于较小的文件。

通过上述内容,我们可以得出问题的原因是读取文件中的字节到字节数组的需求。解决方法是使用Java 7中的Files类的readAllBytes()方法,该方法可以将文件中的字节读取到字节数组中。此外,还可以参考其他方法来实现相同的功能。然而,需要注意的是这种方法只适用于较小的文件。

0