Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
gvsp
14 / 3 / 0
Регистрация: 10.11.2015
Сообщений: 71
#1

Проверка существования файла - Программирование Android

02.12.2015, 03:03. Просмотров 2249. Ответов 6
Метки нет (Все метки)

Надо проверять наличие файла в директории, где программа создаёт файлы по умолчанию. Файл существует, но exists его не видит. А openFileInput из этого файла содержимое получает. Может exists требует прописывать путь в отличие от openFileInput, тогда как прописать путь, если файл создаётся с помощью openFileOutput?

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
String FILENAMEMusic = "MusicActiv.txt"; 
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
// проверка существования файла которая не работает
      File file = new File(FILENAMEMusic);
       if(!file.exists()) {
        TextView hTextView = (TextView)findViewById(R.id.textView);
          hTextView.setText("файла нет");
       }
       else{
           TextView hTextView = (TextView)findViewById(R.id.textView);
         hTextView.setText("файл есть");
      }
 
// чтение из этого же файла, которое работает
        fIn = null;
        try {
            fIn = openFileInput(FILENAMEMusic);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
        isr = new InputStreamReader(fIn);
        inputBuffer = new char[1]; // длина считываемой строки
        try {
            isr.read(inputBuffer);
        } catch (IOException e) {
            e.printStackTrace();
        }
        music_activ = new String(inputBuffer);
        activ_music = Integer.valueOf(music_activ);// в число
        if (activ_music == 1) { // если 1 включаем сервис
            startService(new Intent(this, MyService.class));
        }
    }
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.12.2015, 03:03
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Проверка существования файла (Программирование Android):

Проверка существования файла
Добрый день, как проверить файл на существование? ввожу так, приложение...

XmlPullParser - проверка существования атрибута
Добрый день. Возникла необходимость проверять наличие в xml файле какого-либо...

Проверка доступности файла по пути к файлу
В своем приложении я использую файлы с SD карты. Так вот хотелось бы как-то...

Android, Gradle: проверка параметра при отладке и сборке подписанного файла
Приветствую, коллеги! Всем хорошего кода. В проекте есть переменная (класса),...

Проверка internet connection. Проверка доступности сети
Добрый день. Для проверки Internet Connection советуют делать что-то вроде:...

Проверка существования файла
Ломаю голову, не знаю как сделать... Вообщем, надо: Что-бы, функция...

6
dajver
410 / 274 / 22
Регистрация: 18.09.2010
Сообщений: 1,114
02.12.2015, 13:42 #2
нет, адрес получается из File, а он один на всех, может вы просто не верно указали адрес
Java
1
String FILENAMEMusic = "MusicActiv.txt";
тут? Может оно не в корне sdcard лежит, а где то глубже?
0
Pablito
2653 / 2135 / 726
Регистрация: 12.05.2014
Сообщений: 7,450
Завершенные тесты: 1
02.12.2015, 13:45 #3
к чему эти предвательные избыточные проверки?
openFileInput() если кинет исключение - ловим, значит файла нет, печалька, выводим тост
иначе - читаем из него
0
gvsp
14 / 3 / 0
Регистрация: 10.11.2015
Сообщений: 71
02.12.2015, 14:52  [ТС] #4
dajver, Оно лежит там, куда сохраняет openFileOutput в котором путь не прописывается, а только имя файла. При этом openFileInput файл видит и читает, а exists не видит. Для поиска файла используют одну и ту же переменную 9 и 22 строки.

Добавлено через 8 минут
Паблито, А можно показать, куда можно дописать в openFileInput() действие при отсутствии файла?
0
Pablito
2653 / 2135 / 726
Регистрация: 12.05.2014
Сообщений: 7,450
Завершенные тесты: 1
02.12.2015, 15:05 #5
жесть
вот же ловится исключение
Java
1
2
3
} catch (FileNotFoundException e) {
            e.printStackTrace();
        }
можно примерно так, я на коленке копировал код
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
        try {
            FileInputStream fIn = openFileInput(FILENAMEMusic);
            InputStreamReader isr = new InputStreamReader(fIn);
            char[] inputBuffer = new char[1]; // длина считываемой строки
            isr.read(inputBuffer);
            music_activ = new String(inputBuffer);
            activ_music = Integer.valueOf(music_activ);// в число
            if (activ_music == 1) { // если 1 включаем сервис
                startService(new Intent(this, MyService.class));
            }
        } catch (IOException e) {
            // файла нет или он не читается по какой-то причине
            // либо подробнее разбираем сообщение об ошибке "е" либо вызываем метод с тостами
        }
1
gvsp
14 / 3 / 0
Регистрация: 10.11.2015
Сообщений: 71
02.12.2015, 15:16  [ТС] #6
Паблито, Спасибо, попробую. Но почему не пашет exists() всё равно остаётся загадкой.
0
Pablito
2653 / 2135 / 726
Регистрация: 12.05.2014
Сообщений: 7,450
Завершенные тесты: 1
02.12.2015, 15:28 #7
Лучший ответ Сообщение было отмечено gvsp как решение

Решение

потому что это разные методы, File надо подсовывать полный путь к файлу
если создаем файл так
Java
1
2
3
4
5
        try {
            openFileOutput("test.txt", MODE_PRIVATE);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
то проверять его существование надо так
Java
1
2
        File f = new File(getFilesDir() + "/test.txt");
        if (f.exists()) // файл есть
1
02.12.2015, 15:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.12.2015, 15:28
Привет! Вот еще темы с решениями:

Проверка существования файла
Имеется путь path. Требуется проверить, существует ли файл по такому адресу без...

Проверка существования файла
Добрый вечер.Кто может отредактируйте код.Само задание: В исходном текстовом...

Проверка существования файла
Нужно проверить существование файла. Сейчас проверяю есть ли изображение, а...

Проверка существования файла
Знаю что есть множество вариантов. Но вот нашел такой неплохой пример DWORD...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru