在Android应用中,读取本地文件是开发者经常需要进行的操作,这通常涉及到两种类型的文件:存储在设备上的常规文件(如图片、音频和视频等)和应用程序的数据文件(如SharedPreferences,数据库等),本篇文章将详细介绍如何在Android中读取这两种类型的本地文件。
1、使用AssetManager
AssetManager assetManager = getAssets(); InputStream inputStream = null; try { inputStream = assetManager.open("example.txt"); int size = inputStream.available(); byte[] buffer = new byte[size]; inputStream.read(buffer); String text = new String(buffer, "UTF-8"); } catch (IOException e) { e.printStackTrace(); } finally { if (inputStream != null) { try { inputStream.close(); } catch (IOException e) { e.printStackTrace(); } } }
上述代码首先获取了一个AssetManager的实例,然后通过调用其open方法打开一个名为"example.txt"的文件,接着,它创建了一个字节数组来存储从文件中读取的数据,然后使用InputStream的read方法将数据读入到这个字节数组中,它将字节数组转换为字符串,如果在这个过程中发生了任何IOException,那么就会捕获并打印出这个异常,无论是否发生异常,最后都会尝试关闭输入流。
2、使用FileProvider
如果你的应用针对Android 7.0及以上版本,你可以使用FileProvider来访问设备的文件系统,以下是一个示例:
Uri fileUri = FileProvider.getUriForFile(this, BuildConfig.APPLICATION_ID + ".provider", new File("/path/to/your/file")); Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(fileUri, "text/plain"); startActivity(intent);
这段代码首先通过FileProvider的getUriForFile方法获取了要访问的文件的Uri,它创建了一个新的Intent,设置了它的action为Intent.ACTION_VIEW,data为你刚刚获取的Uri,以及MIME类型为"text/plain",它启动了这个Intent,注意,你需要在你的AndroidManifest.xml文件中配置一个FileProvider,如下所示:
并且还需要在res/xml目录下创建一个xml文件(例如file_paths.xml),用于指定哪些路径可以被你的应用访问:
1、SharedPreferences的使用
SharedPreferences sharedPreferences = getSharedPreferences("MyPrefs", Context.MODE_PRIVATE); String mySetting = sharedPreferences.getString("mySetting", "defaultValue"); // 从SharedPreferences获取值,如果找不到则返回默认值 sharedPreferences.edit().putString("mySetting", "newValue").apply(); // 将新值存入SharedPreferences并立即更新
文章名称:android读取本地文件的方法是什么
网页链接:http://www.shufengxianlan.com/qtweb/news28/325228.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联