我试过寻找像我一样的问题,发现很多,但没有答案对我有用。 我正在使用Android工作室并尝试从java类打开文本文件,但无论我做什么或我是如何尝试打开它 - 我收到此错误: " ...打开失败:ENOENT(没有这样的文件或目录)"
如您所见 - 我也尝试了两种选择: 1.创建"文件" class(然后在我试图调用的watch窗口 - " canRead()"函数但是返回" false" value。 2.试图发送" FileReader" class我的文件的路径。 他们没有工作。
非常感谢!
public void fillDatabase(){
File file = new File("C:\\fillStops.txt");
SQLiteDatabase db = this.getWritableDatabase();
db.execSQL("DELETE FROM " + STOPS_TABLE_NAME);
try {
FileInputStream fileInputStream = new FileInputStream(file);
FileReader fileReader = new FileReader("C:\\fillStops.txt");
BufferedReader bufferedReader = new BufferedReader(fileReader);
StringBuffer stringBuffer = new StringBuffer();
String line;
while ((line = bufferedReader.readLine()) != null) {
this.addStop(line);
}
fileReader.close();
}
catch (Exception e){
String s = e.getMessage();
}
}
答案 0 :(得分:1)
尝试此操作,并将文本文件放在SD卡的根目录下,否则请在以下代码中更改文件路径。
File sdcard = Environment.getExternalStorageDirectory();
//Get the text file
File file = new File(sdcard,"file.txt");
//Read text from file
StringBuilder text = new StringBuilder();
try {
BufferedReader br = new BufferedReader(new FileReader(file));
String line;
String aDataRow = "";
while ((aDataRow = br.readLine()) != null) {
line+= aDataRow + "\n";
}
Log.d(">>>>>", line);
}
catch (IOException e) {
//You'll need to add proper error handling here
}
跳它会清除你的东西。 :)
P.S
不要忘记将<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
权限添加到您的清单中。