Невозможно получить доступ к файлу на локальном компьютере с помощью Android, даже если файл существует на компьютере - PullRequest
0 голосов
/ 09 июля 2019

Я пытаюсь прочитать файл из локального хранилища внутри проекта Android.Однако, я все еще имею ошибку как исключение файла не найдено.Я распечатал путь к файлу и проверил, есть ли файл браузера по тому же пути.но у меня все еще есть исключение.

    try {
                    File file = new File("D:\\Android SDK\\AndroidWorkspace\\Assignment4Test\\app\\src\\main\\assets\\studentnameid.txt");

                    if (file.exists()) {
                        System.out.println("File Is there ");

                    } else {
                        //It always executes the else blog.
                        file.createNewFile();
                        System.out.println(" file is not there so its creating Created File");

                    }
                    System.out.println(file.getAbsolutePath());


                    StringBuilder text = new StringBuilder();
                    BufferedReader br = new BufferedReader(new FileReader(file));
                    String line;

                    while ((line = br.readLine()) != null) {
                        text.append(line);
                        text.append('\n');
                    }
                    br.close();
                } catch (Exception e) {
                    e.printStackTrace();
                }

Буду признателен за вашу помощь.

Спасибо, Кришна

Ответы [ 2 ]

0 голосов
/ 10 июля 2019

, чтобы упростить это, вы должны использовать локальный хост WAMP (для Windows) или MAMP (для Mac), затем сохранить свой файл в папке (www), перейти в android studio и установить ссылку на ваш файл как (http://192.168.1.100/studentnameid.txt)

192.168.1.100 - ваш локальный IP-адрес.

Не: вы должны изменить свой IP-адрес на имя домена, когда вы публикуете свое приложение в Google play или других платформах

0 голосов
/ 09 июля 2019

D:\\Android SDK\\AndroidWorkspace\\Assignment4Test\\app\\src\\main\\assets\\studentnameid.txt - это путь к файлу на ПК с Windows.Android это не Windows.Вы не используете пути файловой системы Windows для ссылки на что-либо на Android.

Я полагаю, исходя из этого пути, у вас есть файл в вашем проекте в assets/.Если это так, используйте AssetManager (через getAssets() для Context) и метод open() для доступа к вашему ресурсу.Это даст вам InputStream для чтения, напрямую или через InputStreamReader.

...