无法读取java中的文本文件(Android studio)

时间:2014-11-28 20:39:13

标签: java android file

我试过寻找像我一样的问题,发现很多,但没有答案对我有用。 我正在使用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();
    }
}

1 个答案:

答案 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" />权限添加到您的清单中。