Java - “未处理的异常类型IOException”

时间:2013-06-27 22:23:10

标签: java android ioexception

我是Java的新手(特别是Android)。我试图让用户从图库中选择一个图像,然后应用程序将图像从图库复制到应用程序目录中的文件夹(以及显示他们在图像按钮中选择的图片)。但是,我收到编译器错误“未处理的异常类型IOException。”

这是我的代码: (早些时候)

Intent i = new Intent(Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(i, 2);

(在onActivityResult函数中)

Uri selectedImage = data.getData(); //data from onActivityResult
String[] filePathColumn = { MediaStore.Images.Media.DATA };
Cursor cursor = getContentResolver().query(selectedImage,filePathColumn, null, null, null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
String picturePath = cursor.getString(columnIndex);
cursor.close();
ImageButton abcd = (ImageButton) findViewById(R.id.btn_addpicture);
abcd.setImageBitmap(BitmapFactory.decodeFile(picturePath));
String command = "cp " + "'" +  selectedImage.getPath().toString() + "' '" + getFilesDir().getPath() + "/Images/" + VALUE_NAME + ".jpg";
Runtime.getRuntime().exec(command);

错误来自最后一行。谁能解释我哪里出错?我不知道错误意味着什么

2 个答案:

答案 0 :(得分:2)

您可能想要使用

try{
    //your code
} catch(IOException ioEx) {
    ioEx.printStackTrace() // or what ever you want to do with it
}

同样如上所述,您可能需要查看Files

答案 1 :(得分:1)

错误意味着您正在进行输入输出操作,并且它正在抛出一个未经您处理的异常。

在任何有正常IO操作的地方使用try-catch块。

也可以使用Files方法复制或移动文件,而不是使用该方法,这将更容易。

您可以参考this链接查看文件传输详情。