Android Studio - 编辑器中的FileNotFound异常

时间:2016-01-05 20:20:36

标签: java android android-studio

我甚至在点击“run”之前就在android studio ide中收到了这个错误。

  

未处理的异常:java.io.FileNotFoundException

使用这个课程:

(该类中的函数尚未被调用!)

import java.io.*;


public class FileIO
{
public static byte[] readBinaryFileFromAssets(File file)
{
    byte[] data = null;

    DataInputStream dis = new DataInputStream(new FileInputStream(file));
    dis.readFully(data);
    dis.close();

    return data;
}
}

感谢。

3 个答案:

答案 0 :(得分:1)

它困扰你,因为你还没有处理潜在的文件未找到异常。 用try / catch包围它或抛出异常。

 public static byte[] readBinaryFileFromAssets(File file)
    {
        byte[] data = null;

        DataInputStream dis = null;
        try {
            dis = new DataInputStream(new FileInputStream(file));
            dis.readFully(data);
            dis.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }


        return data;
    }

注意:你可以在android studio中的try / catch中自动包围块,通过执行alt + enter调出选项然后选择"环绕用try / catch"

答案 1 :(得分:0)

这看起来像checked exception。如果您查看FileInputStream的文档,您会看到它会抛出FileNotFoundException

将代码置于try/catch块中,以解释此类事件,并且错误应该消失。类似的东西:

try {
    DataInputStream dis = new DataInputStream(new FileInputStream(file));
    //etc...
} catch (FileNotFoundException e) {
    //Account for situations where the file can't be found
} 

答案 2 :(得分:0)

你有一个未被捕获的例外。您需要添加try / catch块或让方法转换异常。

public function updatePassword($new_password) {
   $this->password_hash =   Yii::$app->security
          ->generatePasswordHash($new_password);