У меня есть этот метод предполагается для чтения файла:Почему я не могу прочитать файл только для чтения?
/* Read file's content */
private ArrayList<String> readFromFile() {
File file = new File("jokesBody1.bjk");
ArrayList<String> list = new ArrayList<String>();
try {
file.createNewFile();
ObjectInputStream ois = new ObjectInputStream(new FileInputStream(file));
try {
list = (ArrayList)ois.readObject();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
ois.close();
} catch (IOException e) {
Log.e("log activity", "Can not read file: " + e.toString());
}
return list;
}
Когда я звоню, он возвращает:
02-16 06:15:32.686: E/log activity(1380): Can not read file: java.io.IOException: open failed: EROFS (Read-only file system)
Даже, если файл, прочтите, почему я не могу читать ? Я действительно не могу понять, что такое wroong. У меня есть эта premission в моем манифесте:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
Может кто-то дать мне ключ? Я знаю, что мне не хватает чего-то маленького, но я действительно не могу это заметить.
Вот как я пишу файл:
/* Write content to a file */
private void writeToFile(ArrayList<String> list, Context cont) {
File file = new File("jokesBody1.bjk");
FileOutputStream fos;
if(list != null){
try {
fos = cont.openFileOutput("jokesBody1.bjk", Context.MODE_PRIVATE);
ObjectOutputStream out = new ObjectOutputStream(fos);
out.writeObject(list);
out.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}else{
try {
file.createNewFile();
fos = openFileOutput("jokesBody1.bjk",Context.MODE_PRIVATE);
ObjectOutputStream out = new ObjectOutputStream(fos);
out.writeObject("");
out.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
** Где ** - ваш файл? ** Файл file = new File ("jokesBody1.bjk"); ** Я не вижу никакого ** пути **. –
Ваша переменная 'File' при записи файла совершенно бесполезна. –
Возможный дубликат [Невозможно прочитать файл по странной причине] (http://stackoverflow.com/questions/21804263/cant-read-a-file-for-strange-reason) – Selvin