Android 选择特定文件位置
Android Choosing Specific File Location
我正在尝试从 android 上的特定文件夹中读取特定文件,然后将其读入 SQLite 数据库。当我从资产文件夹中获取数据库时,读取数据库工作正常(但这不适用于最终构建,因为文件会不时更改)。但是,我在实际访问文件时遇到找不到文件的问题。
在设备上,文件路径显示为“/storage/emulated/0/Wellpro”,文件名为 "orfice.txt"。
目前,我访问该文件的代码是从大约 3 或 4 个不同的来源集中在一起的,因为我还没有找到任何专门用于此的内容。
String fileName = "/storage/emulated/0/Wellpro/orfice.txt";
String path = Environment.getExternalStorageDirectory()+fileName;
InputStream is = new FileInputStream(path);
BufferedReader buffer = new BufferedReader(new InputStreamReader(is, "UTF-8"));
如有任何帮助,我们将不胜感激。
谢谢。
getAbsolutePath() 给你 SD 卡的完整路径。
尝试
String baseDir = Environment.getExternalStorageDirectory().getAbsolutePath();
String fileName = "myFile.txt";
// check if file path exist then read the file
File f = new File(baseDir + File.Separator + fileName);
FileInputStream fiStream = new FileInputStream(f);
你的第一个错误是文件名应该是 "orfice.txt" 因为 Environment.getExternalStorageDirectory() 给了你路径。遵循@Kathi 的解决方案,这很好。
如果您仍然遇到问题,请确保您添加了访问外部存储所需的适当权限。如果您正在开发 API <23,请将以下权限添加到 Android Manifest
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
如果您正在为 API = 23 开发,您应该在 运行 时请求许可。查看 https://developer.android.com/training/permissions/requesting.html 以获取有关如何操作的更多信息。
我正在尝试从 android 上的特定文件夹中读取特定文件,然后将其读入 SQLite 数据库。当我从资产文件夹中获取数据库时,读取数据库工作正常(但这不适用于最终构建,因为文件会不时更改)。但是,我在实际访问文件时遇到找不到文件的问题。
在设备上,文件路径显示为“/storage/emulated/0/Wellpro”,文件名为 "orfice.txt"。
目前,我访问该文件的代码是从大约 3 或 4 个不同的来源集中在一起的,因为我还没有找到任何专门用于此的内容。
String fileName = "/storage/emulated/0/Wellpro/orfice.txt";
String path = Environment.getExternalStorageDirectory()+fileName;
InputStream is = new FileInputStream(path);
BufferedReader buffer = new BufferedReader(new InputStreamReader(is, "UTF-8"));
如有任何帮助,我们将不胜感激。
谢谢。
getAbsolutePath() 给你 SD 卡的完整路径。
尝试
String baseDir = Environment.getExternalStorageDirectory().getAbsolutePath();
String fileName = "myFile.txt";
// check if file path exist then read the file
File f = new File(baseDir + File.Separator + fileName);
FileInputStream fiStream = new FileInputStream(f);
你的第一个错误是文件名应该是 "orfice.txt" 因为 Environment.getExternalStorageDirectory() 给了你路径。遵循@Kathi 的解决方案,这很好。
如果您仍然遇到问题,请确保您添加了访问外部存储所需的适当权限。如果您正在开发 API <23,请将以下权限添加到 Android Manifest
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
如果您正在为 API = 23 开发,您应该在 运行 时请求许可。查看 https://developer.android.com/training/permissions/requesting.html 以获取有关如何操作的更多信息。