Я столкнулся с довольно сложной задачей при написании своего приложения. Вот мой вопрос:Инициализация в Try/Catch
Я пытаюсь инициализировать входной поток файла, как так:
FileInputStream fis
fis = openFileInput(selectedFile);
Затем поместите этот 1 строку позже:
byte[] input = new byte[fis.available()];
Проблема оба бита кода нужно попробовать/catch, а второй блок не может распознать 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();
}
Что мне делать? (Заранее спасибо)
инициализации фП временного значения (это будет работать, если вы пытаетесь 'null'). Дело в том, как программа должна работать. –
Объявите переменные за пределами try/catch или поймайте оба исключения. –
Вы пытаетесь открыть файл, и если он не работает, вы распечатываете только трассировку стека и пытаетесь продолжить ... Что даст NPE. Сделайте свой метод 'openFile()' самым коротким методом IOException! – fge