`

读取本地私有文件

阅读更多
package tl.android.utils;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import android.content.Context;
import android.util.Log;

/**
 * 
 * @author amos_tl
 * @version 1.0
 * 
 * 实现Android应用程序私有文件或静态资源文件的读取与写入功能.
 * 
 */

public class FileUtils extends Object{
	/**
	 * LogCat TAG 标识
	 */
	public static final String TAG = "FileUtils";
	
	/**
	 * 读取应用程序私有文件.相对路径: /data/data/应用程序包/files/
	 * @param fileName 想要读取的文件名
	 * @param buffer 字节方式读取到缓存
	 * @param context 关联的应用程序上下文
	 */
	public static void readFile(String fileName, byte[] buffer, Context context){
		FileInputStream fis = null;
		
		try {
			fis = context.openFileInput(fileName);
			try {
				fis.read(buffer);
			} catch (IOException e) {
				Log.e(TAG, e.getMessage(), e);
			} finally{
				Log.d(TAG, buffer.length + "bytes ");
			}
		} catch (FileNotFoundException e) {
			Log.e(TAG, e.getMessage(), e);
		}
		
	}
	
	/**
	 * 写入应用程序私有文件.相对路径: /data/data/应用程序包/files/
	 * @param fileName 想要写入的文件名,没有则创建
	 * @param mode 写入模式
	 * @param buffer 要写入的字节数组
	 * @param context 关联的应用程序上下文
	 */
	public static void writeFile(String fileName, int mode, byte[] buffer, Context context){
		FileOutputStream fos = null; 
		try {
			fos = context.openFileOutput(fileName, mode);
			try {
				fos.write(buffer);
				fos.flush();
			} catch (IOException e) {
				Log.e(TAG, e.getMessage(), e);
			}finally{
				Log.d(TAG, buffer.length + "bytes");
			}
		} catch (FileNotFoundException e) {
			Log.e(TAG, e.getMessage(), e);
		}
	}
	
	/**
	 * 读取应用程序静态资源文件
	 * @param id 资源文件ID
	 * @param buffer 字节方式读取到缓存
	 * @param context 关联的应用程序上下文
	 */
	public static void readRawFile(int id, byte[] buffer, Context context){
		InputStream is = null;
		try{
			is = context.getResources().openRawResource(id);
			is.read(buffer);
		}catch(Exception e){
			Log.e(TAG, e.getMessage(), e);
		}finally{
			Log.d(TAG, buffer.length + "bytes ");
		}
	}
	
	
	
}

分享到:
评论

相关推荐

    android 私有文件夹 文件的写入与读取

    总结,Android中的文件操作主要涉及私有文件夹的访问、文件的创建与读写,以及使用`SharedPreferences`进行简单数据存储。开发者可以根据需求选择合适的方法,并利用Android Studio提供的工具提高开发效率。同时,...

    android 读取本地.db文件,实现不变数据本地化

    本篇文章将深入探讨如何在Android应用中读取本地的.db(SQLite)文件,以实现不变数据的本地化存储。 首先,我们需要理解SQLite数据库在Android中的基本使用。SQLite是一个轻量级的关系型数据库,它内置于Android...

    Android 本地文件的存储和读取

    在Android应用开发中,理解和掌握本地文件的存储与读取是一项基本技能。本文将深入探讨Android如何进行文件操作,包括创建、读取、修改和删除本地文件,以便开发者能够高效地管理应用程序的数据。 首先,Android...

    android中文件的保存与读取

    在Android系统中,文件的保存和读取是应用程序处理数据的基本操作。Android提供了多种方法来存储数据,包括内部存储、外部存储以及SQLite数据库等。在这个主题中,我们将重点关注通过文件系统进行数据存取的方法。 ...

    Android应用程序中读写txt文本文件的基本方法讲解

    2. **使用openFileInput()打开文件**:调用`context.openFileInput(filename)`方法,传入要读取的文件名(相对于应用的私有数据目录)。这将返回一个`FileInputStream`对象,用于读取文件内容。 ```java try { ...

    Android本地数据存储之文件存储读写

    在Android中,文件存储分为私有(内部存储)和公共(外部存储)两种,前者对应用可见,后者则允许其他应用访问。 二、内部存储 内部存储是应用专属的存储空间,数据不会被系统或用户清理。对于私密性和安全性的文件...

    加载与存储本地JSON文件

    在iOS和Android等移动开发...在处理本地JSON文件时,需注意权限管理,尤其是在Android 6.0及以上版本,可能需要动态申请读写权限。同时,考虑到性能和存储效率,大文件或频繁读写的操作应优化处理,避免影响用户体验。

    文件读写和本地存储

    这包括使用`openFileOutput()`和`openFileInput()`方法来操作私有文件,以及使用`Environment.getExternalStorageDirectory()`获取公共存储路径。 其次,SP(SharedPreferences)存储是Android系统提供的一种轻量级...

    基于Linux的私有文件服务器,采用reactor模式开发.zip

    在构建基于Linux的私有文件服务器时,采用反应器(Reactor)模式是一种常见的并发编程策略,尤其适用于处理大量的并发连接请求。反应器模式是一种事件驱动的设计模式,它能够高效地处理I/O事件,比如网络通信中的...

    Android在本地创建文件

    Android应用通常有三个主要的文件存储区域:内部存储、外部存储(公共和私有)以及外部存储的obb附加存储。对于创建个人应用数据的文本文件,我们通常选择内部存储,因为这样可以保护文件不被其他应用访问。 **步骤...

    Android不需要文件存储权限将文件保存至手机

    综上所述,虽然传统上Android应用需要文件读写权限才能在手机上保存文件,但现代Android系统提供了多种方法,如私有目录、MediaStore API、SAF等,使得在某些情况下,应用无需请求额外的权限就能实现文件的存储和...

    文件读写源代码

    在Android平台上进行文件读写是开发过程中的常见操作,它涉及到对本地文件系统的访问和管理。本源代码示例提供了Android应用中实现文件读写功能的方法。以下是对这些知识点的详细解析: 1. **Android权限管理**:在...

    android txt文件保存读取操作

    这个方法需要文件名和操作模式(如`MODE_PRIVATE`,`MODE_APPEND`等),会自动在应用的私有目录下创建文件。 - **外部存储**:如果需要在外部存储上创建TXT文件,需要先检查是否有写入权限,然后使用`Environment....

    创建与删除本地文件,对手机的外部存储进行操作

    在Android系统中,对手机的外部存储进行操作是应用程序与...总结来说,Android应用可以方便地对手机外部存储进行读写操作,但需注意权限管理、文件安全和用户体验。正确处理文件操作能够提升应用的功能性和用户满意度。

    android文件读写源码

    在Android系统中,文件的读写是应用程序与本地存储交互的基础操作。本文将深入解析Android文件读写源码,探讨如何在Android应用中创建、读取、修改和删除文件,并涉及权限管理和存储位置的选择。 首先,Android提供...

    Qt Android 读写文件权限与录制音频权限询问Demo

    然后,在QML中可以通过导入这个模块来调用对应的API,如打开、读取、写入文件或进行音频录制。 总结来说,这个Demo提供了以下关键知识点: 1. Android运行时权限管理:如何在Qt中检查和请求读写文件和录制音频的...

    Android中http请求及文件读写操作方法

    在Android开发中,进行HTTP请求和文件读写是常见的任务,尤其在与服务器交互和存储本地数据时。本文将详细讲解这两个方面的知识点。 首先,我们来看Android中的HTTP请求。HTTP请求通常用于从服务器获取数据,如JSON...

    基于Android Studio开发手机本地文件浏览器

    在这个项目中,我们使用Android Studio来开发一个手机本地文件浏览器,它允许用户浏览并操作设备上的文件和目录。 在Android中,访问文件系统需要遵循特定的权限模型。在Android 4.0(API级别14)到6.0(API级别23...

    FileInputOutput文件的上传和读取

    在Android开发中,FileInputOutput(文件输入/输出)是基础且重要的技能,涉及到应用程序对本地文件系统的操作,包括文件的创建、读取、写入、删除等。本主题主要聚焦于文件的上传和读取,这对于存储和检索用户数据...

    Android 文件读取管理 demo

    在Android平台上,文件读取和管理是开发过程中不可或缺的一部分,特别是在构建用户界面或者处理本地数据时。本示例,"Android 文件读取管理 demo",旨在帮助开发者理解如何有效地操作和展示不同类型的文件。以下是对...

Global site tag (gtag.js) - Google Analytics