По разному пишут, где то путь например File file = new File("C://wall.png");
А где то File file = new File("C:\\wall.png"); Есть места где пишут и через одинарный слэш. Я в итоге получаю NPE. Пробовал по всякому, но чтобы продолжить дальше искать в чем проблема, надо наверняка узнать какой слэш использовать или нет разницы ?
Например в папке scr лежит wall.png
объявляю public File file;
инициализирую file = new File("wall.png");
получаю битмап Bitmap bitmap = BitmapFactory.decodeStream(new FileInputStream(file)); но тут подчеркивается new FileInputStream(file) после того как я напишу сюда file и ошибка: Unhandled exception .
Если положу файл wall.png в корень диска C и укажу file = new File("C:\\wall.png"); или file = new File("C://wall.png"); результат не меняется.
UPD
if (new File("wall.png").exists()) {
System.out.println("ЕСТь");
}else System.out.println("НЕТ");
не находит, а файл лежит в папке scr
UPD1 объявил
File file;
File[] paths;
в onCreate пишу
file = new File("");
paths = file.listFiles();
System.out.println(paths);
В ответ должен получить все файлы и каталоги корневой папки проекта. А получаю null. По этой же не понятной для меня причине и не находятся файлы по абсолютным путям. Что же я не так делаю
Во-первых, почитайте про относительный и абсолютный путь. Абсолютный указывает реальное местоположение в файловой системе, например, "C:\Program Files". Относительный же ищет относительно рабочей директории. То есть если вы работаете в "C:\Program Files", и введете в пути File "wall.png", без каких-либо уточнений, то к данному имени будет добавлен в начало путь до директории, в которой вы работаете сейчас, в нашем примере полный путь окажется: "C:\Program Files\wall.png".
Про слеши. Если вы пользуетесь "\", то его необходимо экранировать. Некоторые символы без экранирования носят не тот смысл, что бы в них хотите заложить. Например, строка "\n" - переход строки, а "\n" возвратит строки \n, так как слеш был экранирован.
Соответственно, если вы хотите использовать такие слеши "\", то их нужно экранировать и ваш путь получиться следующим (абсолютный): "C:\Program Files\wall.png". Если вы не хотите все время думать об экранировании, то используйте обратные слеши, с ними ваш путь будет выглядеть как: "C:/Program Files/wall.png".
Разумеется, вам необходимо поставить свой путь до файла вместо (абсолютного) "C:/Program Files".
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости