我正在尝试将一张图片保存到parse.com,需要将其转换为字节数组。我决定尝试使用apache commons-io来完成这个过程,但它并没有正常工作。以下是我的代码片段:
private void saveImage() throws IOException {
// TODO Auto-generated method stub
InputStream header = new FileInputStream("/ClashMMA/res/drawable-hdpi/beatdown.jpg");
ParseFile file = new ParseFile(toByteArray(header));
try{
file.save();
} catch (ParseException e) {
e.printStackTrace();
}
ParseObject displayImage = new ParseObject("displayImage");
displayImage.put("header", file);
try{
displayImage.save();
} catch (ParseException e1){
e1.printStackTrace();
}
}
private byte[] toByteArray(InputStream header) throws IOException {
// TODO Auto-generated method stub
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
int l;
byte[] data = new byte[1024];
while ((l = header.read(data, 0, data.length)) != -1) {
buffer.write(data, 0, l);
}
buffer.flush();
return buffer.toByteArray();
}
我的错误是这样的:
java.io.FileNotFoundException: /ClashMMA/res/drawable-hdpi/beatdown.jpg: open failed: ENOENT (没有这个文件或目录)
但我确定文件在那里,因为我去了我的文件目录(在eclipse中),右键点击,然后点击“复制限定名称”。这基本上是复制文件路径。我尝试了一些其他路径,比如直接从我的电脑上,和在我的src文件夹里。请问有人能告诉我我做错了什么吗?为什么它无法读取文件,而实际上文件确实存在?请详细解释。