У меня есть Uri
, указывающий на текстовый файл с intent
, и я пытаюсь прочитать файл для разбора строки внутри него. Это то, что я пробовал, но с ошибкой FileNotFoundException
. Метод toString()
появляется потерять /
Android Читать текстовый файл из URI
java.io.FileNotFoundException: Содержание: /com.google.android.apps.bigtop/attachments/downloads/528c4088144d1515d933ca406b7bc273/attachments/d_0_0_b562310a_52b6ec1c_c4d5f0d3_73f7489a_711e4cf2/untitled%20text.txt: открытая не удалось: ENOENT (Нет такого файла или каталога)
Uri data = getIntent().getData();
String text = data.toString();
if(data != null) {
try {
File f = new File(text);
FileInputStream is = new FileInputStream(f); // Fails on this line
int size = is.available();
byte[] buffer = new byte[size];
is.read(buffer);
is.close();
text = new String(buffer);
Log.d("attachment: ", text);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
значение данных:
Содержание: //com.google.android.apps.bigtop/attachments/downloads/528c4088144d1515d933ca406b7bc273/attachments/d_0_0_b562310a_52b6ec1c_c4d5f0d3_73f7489a_711e4cf2/untitled%20text.txt
и значение data.getPath() является
/вложения/загрузки/528c4088144d1515d933ca406b7bc273/вложения/d_0_0_b562310a_52b6ec1c_c4d5f0d3_73f7489a_711e4cf2/безымянный text.txt
Я сейчас пытаюсь получить файл непосредственно от Uri, а не пути:
Uri data = getIntent().getData();
String text = data.toString();
//...
File f = new File(text);
Но е, кажется, теряет один из косых черт от содержания: //
е:
содержание: /com.google.android.apps.bigtop/attachments/downloads/ 528c4088144d1515d933ca406b7bc273/вложения/d_0_0_b562310a_52b6ec1c_c4d5f0d3_73f7489a_711e4cf2/безымянный% 20text.txt
ли вы пытаетесь проверить это, я вижу, что у вас есть пробелы в вашем имени файла http://stackoverflow.com/questions/10301674/ копи-файл-в-андроид-с-пространств-в-файл-имя. – aleksamarkoni
@aleksamarkoni Я перекодировал URL-адрес с% 20 вместо «", но все же FileNotFoundException –
Можете ли вы проверить, доступна ли SD-карта в момент попытки. http://developer.android.com/training/basics/data-storage/files.html#WriteExternalStorage – aleksamarkoni