我甚至在点击“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;
}
}
感谢。
答案 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);