我需要从文件路径获取字节数组以上传图像。但是字节数组的形式为array。我如何获得字节数组。我已经按照以下步骤操作,但是找不到解决方法。
我尝试了以下代码,但不起作用。
byte []buffer=new byte[1024];
ByteArrayOutputStream os=new ByteArrayOutputStream();
FileInputStream fis=new FileInputStream(f);
int read;
while ((read=fis.read(buffer))!=-1){
os.write(buffer,0,read);
}
fis.close();
os.close();
它返回字节数组对象,但我需要该数组。当我使用Array.toString(bytearray)时,它以字符串形式返回,但我需要数组形式。请帮我怎么做。
答案 0 :(得分:1)
将字节转换为文件,请参见下面的代码。
InputStream is = Context.openFileInput(someFileName);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] b = new byte[1024];
while ((int bytesRead = is.read(b)) != -1) {
bos.write(b, 0, bytesRead);
}
byte[] bytes = bos.toByteArray();
或
byte[] fileContent = Files.readAllBytes(file.toPath());