#android
#Android
Вопрос:
Я указываю адрес этого файла data/data/org.com.Cache/files/cacheImplementationOutput
, но я получил следующее сообщение об ошибке…..
java.io.IOException: Couldn't open /data/data/org.com.Cache/files/cacheImplementationOutput
Ответ №1:
укажите имя метода как fetch (url, outputXml);
и прочитайте содержимое xml как….
FileInputStream fis = openFileInput (outputXml);
общедоступный байт [] readBytes (входной поток InputStream, строка outputXml) { try { ByteArrayOutputStream ByteBuffer = new ByteArrayOutputStream(); размер буфера int = 1024; byte [] buffer = новый байт [Размер буфера]; OutputStreamWriter fout = новый OutputStreamWriter(openFileOutput( outputXml,0)); int len = 0; в то время как ((len = входной поток.чтение (буфер)) != -1) { ByteBuffer.write(буфер, 0, len); } fout.запись (новая строка (ByteBuffer.toByteArray())); fout.close(); возвращает ByteBuffer.toByteArray(); }catch (исключение NullPointerException e) { e.printStackTrace(); } catch (Исключение e) { } возвращает null;
}
public void fetch(URL url, String outputXml) {
try {
InputStream myInputStream = null;
StringBuilder sb = new StringBuilder();
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/xml");
OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
wr.write(sb.toString());
wr.flush();
wr.close();
myInputStream = conn.getInputStream();
readBytes(myInputStream, outputXml);
System.out.println("writing is done");
}catch (NullPointerException e) {
e.printStackTrace();
}
catch (Exception e) {
}
}
Ответ №2:
Вы забыли /
в начале адреса хранилища…
так data/data/org.com.Cache/files/cacheImplementationOutput
это просто data/data/org.com.Cache/data/data/org.com.Cache/files/cacheImplementationOutput
Комментарии:
1. Спасибо за ваш ответ… но у меня также есть упоминание / в начале … на самом деле это XML-файл…. Мне нужно получить к нему доступ