Android: new BufferedReader(new FileReader语言 - cause a catch e



我已经编码了下面的函数调用,并在一个应用程序中使用它。这是在同一部手机上工作。现在,我将该函数复制到另一个应用程序中,但它会在

行中导致catch错误:
bR = new BufferedReader(new FileReader(gpxfile));
有谁知道这是为什么吗?我如何检查错误信息?注意,我已经添加了权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
public void addPhoneEntriesFromFile(String thisfile)   {
String aDataRow;
// load from textfile
try {
String newpath;
String subfolder = "DriveSyncFiles/_sync";
newpath = Environment.getExternalStorageDirectory().getPath();
if (!subfolder.equals("")) {
newpath += "/" + subfolder;
}
newpath += "/";
BufferedReader bR;

if (thisfile.equals("")){
thisfile = "myaddress.txt";
}

File gpxfile = new File(newpath, thisfile );
myFun.ShowToast(getApplicationContext(), "begin");
bR = new BufferedReader(new FileReader(gpxfile));
aDataRow = "";
Boolean stopWhile = false;
while (((aDataRow = bR.readLine()) != null) && (stopWhile == false)) {
if (aDataRow.equals("===")) {
stopWhile = true;
} else {
Log.d("mycode", aDataRow);
}
}
bR.close();
myFun.ShowToast(getApplicationContext(), "end");
} catch (IOException e) {
e.printStackTrace();
}

}

我找到问题了。我复制了旧的应用程序并对其进行了修改。安装后,它也无法读取文件。原因是,手机是Miui,它内部有自己的应用程序权限。所以我也必须为手机设置应用程序的权限。

最新更新