Java 如何在Android中获取文件的字节
在我的应用程序中,我想读取文件的前16个字符Java 如何在Android中获取文件的字节,java,android,file,byte,Java,Android,File,Byte,在我的应用程序中,我想读取文件的前16个字符 我写了下面的代码,但对于这个字节[],请给我看43 我想先显示16个字节的字符 我的代码: String inputFile = getRootDirPath(context) + "/" + "girnmqlyv0.pdf"; File file = new File(inputFile); try { byte[] fileBye =
我写了下面的代码,但对于这个
字节[]
,请给我看43我想先显示16个字节的字符
我的代码:
String inputFile = getRootDirPath(context) + "/" + "girnmqlyv0.pdf";
File file = new File(inputFile);
try {
byte[] fileBye = FileUtils.readFileToByteArray(file);
Log.e("FileByte", ""+fileBye[16]);
} catch (IOException e) {
e.printStackTrace();
}
在logcat
中显示此消息:
E/FileByte: 43
如何获取文件的第一个16个字符?要从前16个字节创建字符串,请使用该字符串而不是
“+fileBye[16]
:
Log.e("FileByte", new String(fileBye, 0, 16));
请注意,这将根据默认字符编码(Android上为UTF-8)将前16个字节转换为字符串。如果文件中的文本包含非ASCII字符,则16个字节将不会转换为16个字符
要将前16个字节提取为字节数组,可以使用:
byte[] first16 = Arrays.copyOfRange(fileBye, 0, 16);
或者,您只能读取前16个字节,而不是整个文件:
byte[] first16 = new byte[16];
try (FileInputStream in = new FileInputStream(inputFile)) {
in.read(first16);
}
要从前16个字节创建字符串,请使用该字符串而不是
“+fileBye[16]
:
Log.e("FileByte", new String(fileBye, 0, 16));
请注意,这将根据默认字符编码(Android上的UTF-8)将前16个字节转换为字符串。如果文件中的文本包含非ASCII字符,则16字节将不会转换为16个字符
要将前16个字节提取为字节数组,可以使用:
byte[] first16 = Arrays.copyOfRange(fileBye, 0, 16);
或者,您只能读取前16个字节,而不是整个文件:
byte[] first16 = new byte[16];
try (FileInputStream in = new FileInputStream(inputFile)) {
in.read(first16);
}
像这样定义数组的大小
byte[]bytes=newbyte[size]代码>
在您的情况下,大小为16定义数组的大小,如下所示字节[]字节=新字节[size]代码>
您的尺码是16号谢谢我的朋友,但请给我看这样的:��>h[iZ�T�w0=�代码>:|这就是文件中写入的内容。如果在文本编辑器中打开文件,会看到什么?我想将这16个字符存储到字节[]中,以便使用init vector进行AES ad CBCCA解码。您可以帮助我如何将这16个字符存储到字节[]中吗?啊,所以你根本不需要字符或字符串。请看UpdateThaks my friend,但向我展示这样的内容:��>h[iZ�T�w0=�代码>:|这就是文件中写入的内容。如果在文本编辑器中打开文件,会看到什么?我想将这16个字符存储到字节[]中,以便使用init vector进行AES ad CBCCA解码。您可以帮助我如何将这16个字符存储到字节[]中吗?啊,所以你根本不需要字符或字符串。请看更新。它看起来像是在试图读取文件。PDF是一种二进制文件格式,它不包含易于读取的格式的文本。你希望得到什么输出?byte[]fileBye=FileUtils.readFileToByteArray(file)
。将函数调用更改为byte[]fileBye=FileUtils.readFileToByteArray(文件,16);
并发布该函数的调整代码。看起来您正在尝试读取文件。PDF是一种二进制文件格式,它不包含易于读取的格式的文本。您希望得到什么输出?byte[]fileBye=FileUtils.readFileToByteArray(文件)
。将函数调用更改为byte[]fileBye=FileUtils.readFileToByteArray(文件,16);
并发布该函数的调整代码。