我在编写应用程序时遇到了相当大的障碍。这是我的问题:
我正在尝试像这样初始化文件输入流:
FileInputStream fis
fis = openFileInput(selectedFile);
然后将这 1 行放在后面:
byte[] input = new byte[fis.available()];
问题是两段代码都需要 try/catch 语句,而第二个 block 无法识别 fis,因为它是在 try/catch 中初始化的。这是我的代码:
private void openFile(String selectedFile) {
String value = "";
FileInputStream fis;
try {
fis = openFileInput(selectedFile);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
try {
byte[] input = new byte[fis.available()];
} catch (IOException e) {
e.printStackTrace();
}
我该怎么办? (提前致谢)
最佳答案
在这种情况下,最好的方法是根本不捕获 IOException。
private void openFile(String selectedFile) throws IOException {
FileInputStream fis = openFileInput(selectedFile);
byte[] input = new byte[fis.available()];
收到 FileNotFoundException 后继续没有意义
关于java - 在 Try/Catch 中初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16868260/