Я думаю, что это не должно быть очень сложной задачей, и мне удалось это сделать с помощью HTC Desire, но по какой-то причине я не могу читать с SD-карты Samsung Galaxy S в своем приложении для Android.
Я использую :
public String writeFile1(String text) {
File sdDir = Environment.getExternalStorageDirectory();
File myFile = new File(sdDir+"/TextFiles/patientDetails.txt");
try{
myFile.createNewFile();
FileOutputStream fOut = new FileOutputStream(myFile);
OutputStreamWriter myOutWriter =
new OutputStreamWriter(fOut);
myOutWriter.write(text);
myOutWriter.close();
fOut.close();
return "success";
}catch (IOException e){
e.printStackTrace();
return "fail";
}
}
и это работает нормально! Содержимое файла сохраняется, и я очень счастлив. Однако, когда я делаю обратное, используя...
//
File f = new File(Environment.getExternalStorageDirectory()+fileName);
FileInputStream fileIS = new FileInputStream(f);
BufferedReader buf = new BufferedReader(new InputStreamReader(fileIS));
String readString = new String();
//just reading each line and pass it on the debugger
String s = "";
while((readString = buf.readLine())!= null){
s+=readString;
}
return s;
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e){
e.printStackTrace();
}
Я получаю исключение файл не найден! Я только что написал на него и могу видеть, что я написал, когда я монтирую SD-карту.
Кто-нибудь знает решение этого? Спасибо
Log.d(f.toString())
в своем методе чтения? - person Laurent'   schedule 10.10.2011