繁体   English   中英

无法从Android中的SD卡读取文件

[英]Unable to read file from sd card in Android

我正在尝试使用以下代码从sdcard读取文件

     f = new RandomAccessFile("/storage/sdcard0/trac.txt", "r");

但是,这样做时应用程序崩溃了。 我可以在sdcard中创建和写入文件,但无法读取它。 我的清单中具有以下权限,并且正在将其作为系统应用程序运行:

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_LOGS" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<uses-permission android:name="android.permission.WRITE_MEDIA_STORAGE"/>
<uses-permission android:name="android.permission.READ_MEDIA_STORAGE"/>
<uses-permission android:name="android.permission.ACCESS_SUPERUSER"></uses-permission>
<uses-permission android:name="android.permission.INJECT_EVENTS"></uses-permission>

尝试通过以下操作获取SD卡路径:

String yourpath = Environment.getExternalStorageDirectory()
                             .getAbsolutePath() + "/folderName/";
try {
                File myFile = new File("/sdcard/mysdfile.txt");
                FileInputStream fIn = new FileInputStream(myFile);
                BufferedReader myReader = new BufferedReader(
                        new InputStreamReader(fIn));
                String fileStr= "";
                String aBuffer = "";
                while ((fileStr= myReader.readLine()) != null) {
                    aBuffer += fileStr+ "\n";
                }
                txtData.setText(aBuffer);
                myReader.close();
                Toast.makeText(getBaseContext(),
                        "Done reading SD 'mysdfile.txt'",
                        Toast.LENGTH_SHORT).show();
            } catch (Exception e) {
                Toast.makeText(getBaseContext(), e.getMessage(),
                        Toast.LENGTH_SHORT).show();
            }

对我有帮助。 更详细:

如何在Android上从SD卡读取选定的文本文件

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM