Конструкция try/catch. Проблемы с FileInputStream

SQLite, Preferences, файлы, SD, Content Provider, XML, JSON
Закрыто
MiniDi
Сообщения: 3
Зарегистрирован: 10 апр 2016, 23:24

Конструкция try/catch. Проблемы с FileInputStream

Сообщение MiniDi » 10 апр 2016, 23:28

Прошу помощи. Требуется считать xls файл. Но try никогда не выполняется, а выполняется условие из catch. В итоге bb={“0,0,0,0”}. Не могу понять, что я делаю не так. Файл лежит в папке проекта.
Перемещение файла в другое место, изменение имени ничего не дало. Думала, что дело в том, что это xls, но даже с txt тоже самое.
Буду благодарна за любую помощь.

[syntax=java5]Book bb = new Book();
String[] mas = bb.boob();

public class Book {
public String[] data = new String[4];

public String[] boob() {
try(FileInputStream fis = new FileInputStream("list.xls")) {
//Workbook wb = new HSSFWorkbook(fis);
for(int i=0; i<4; i++){
data = "1";
}
fis.close();
return data;
}
catch (IOException e){
String[] d ={"0","0","0","0"};
return d;}
}
}[/syntax]

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Конструкция try/catch. Проблемы с FileInputStream

Сообщение Foenix » 11 апр 2016, 00:08

просто пройди код отладчиком. Ошибка вот и лезет в catch.

и раз ты делаешь try с ресурсами, то закрывать fis не нужно.
Вообще код, конечно странный, даже разбираться в таком не хочется. Очень сложночитаемый и не аутентичный. Два ретерна, в одной из веток заполнение свойства объекта, в другом просто возврат локальной переменной и так далее, не говоря уже о названиях методов.

И при форматировании кода на форуме делай синтакс java5, а не тех "код". Я показала.
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

math64
Сообщения: 235
Зарегистрирован: 16 июл 2012, 07:47

Re: Конструкция try/catch. Проблемы с FileInputStream

Сообщение math64 » 11 апр 2016, 07:47

"list.xls" - а где путь к каталогу, где он находится?

MiniDi
Сообщения: 3
Зарегистрирован: 10 апр 2016, 23:24

Re: Конструкция try/catch. Проблемы с FileInputStream

Сообщение MiniDi » 11 апр 2016, 18:12

Говорят, если файл лежит в папке проекта, то путь не обязателен. Но я так же пробовала писать полный путь, а именно "C:\\Android\\MySchedule\\list.xls"

fis.close убрала, ошибка не исчезла.

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Конструкция try/catch. Проблемы с FileInputStream

Сообщение Foenix » 11 апр 2016, 19:38

ошибка не в close, это я просто к слову сказала.
И что это за путь у тебя такой странный? Какие-то С, двойные слеши совершенно не в ту сторону наклонены..?
и что значит "папка проекта" в твоем понимании? при установке в обычном случае там ничего не будет, необходимо записать файл в assets, а затем при первом запуске скопировать файл в папку проекта, тогда он там будет. К примеру.
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

MiniDi
Сообщения: 3
Зарегистрирован: 10 апр 2016, 23:24

Re: Конструкция try/catch. Проблемы с FileInputStream

Сообщение MiniDi » 11 апр 2016, 20:27

Foenix, спасибо большое. Почитала про assets и все заработало. Я и не знало, что недостаточно просто в папку перенести...

Закрыто