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中的文件操作主要涉及私有文件夹的访问、文件的创建与读写,以及使用`SharedPreferences`进行简单数据存储。开发者可以根据需求选择合适的方法,并利用Android Studio提供的工具提高开发效率。同时,...
本篇文章将深入探讨如何在Android应用中读取本地的.db(SQLite)文件,以实现不变数据的本地化存储。 首先,我们需要理解SQLite数据库在Android中的基本使用。SQLite是一个轻量级的关系型数据库,它内置于Android...
在Android应用开发中,理解和掌握本地文件的存储与读取是一项基本技能。本文将深入探讨Android如何进行文件操作,包括创建、读取、修改和删除本地文件,以便开发者能够高效地管理应用程序的数据。 首先,Android...
在Android系统中,文件的保存和读取是应用程序处理数据的基本操作。Android提供了多种方法来存储数据,包括内部存储、外部存储以及SQLite数据库等。在这个主题中,我们将重点关注通过文件系统进行数据存取的方法。 ...
2. **使用openFileInput()打开文件**:调用`context.openFileInput(filename)`方法,传入要读取的文件名(相对于应用的私有数据目录)。这将返回一个`FileInputStream`对象,用于读取文件内容。 ```java try { ...
在Android中,文件存储分为私有(内部存储)和公共(外部存储)两种,前者对应用可见,后者则允许其他应用访问。 二、内部存储 内部存储是应用专属的存储空间,数据不会被系统或用户清理。对于私密性和安全性的文件...
在iOS和Android等移动开发...在处理本地JSON文件时,需注意权限管理,尤其是在Android 6.0及以上版本,可能需要动态申请读写权限。同时,考虑到性能和存储效率,大文件或频繁读写的操作应优化处理,避免影响用户体验。
这包括使用`openFileOutput()`和`openFileInput()`方法来操作私有文件,以及使用`Environment.getExternalStorageDirectory()`获取公共存储路径。 其次,SP(SharedPreferences)存储是Android系统提供的一种轻量级...
在构建基于Linux的私有文件服务器时,采用反应器(Reactor)模式是一种常见的并发编程策略,尤其适用于处理大量的并发连接请求。反应器模式是一种事件驱动的设计模式,它能够高效地处理I/O事件,比如网络通信中的...
Android应用通常有三个主要的文件存储区域:内部存储、外部存储(公共和私有)以及外部存储的obb附加存储。对于创建个人应用数据的文本文件,我们通常选择内部存储,因为这样可以保护文件不被其他应用访问。 **步骤...
综上所述,虽然传统上Android应用需要文件读写权限才能在手机上保存文件,但现代Android系统提供了多种方法,如私有目录、MediaStore API、SAF等,使得在某些情况下,应用无需请求额外的权限就能实现文件的存储和...
在Android平台上进行文件读写是开发过程中的常见操作,它涉及到对本地文件系统的访问和管理。本源代码示例提供了Android应用中实现文件读写功能的方法。以下是对这些知识点的详细解析: 1. **Android权限管理**:在...
这个方法需要文件名和操作模式(如`MODE_PRIVATE`,`MODE_APPEND`等),会自动在应用的私有目录下创建文件。 - **外部存储**:如果需要在外部存储上创建TXT文件,需要先检查是否有写入权限,然后使用`Environment....
在Android系统中,对手机的外部存储进行操作是应用程序与...总结来说,Android应用可以方便地对手机外部存储进行读写操作,但需注意权限管理、文件安全和用户体验。正确处理文件操作能够提升应用的功能性和用户满意度。
在Android系统中,文件的读写是应用程序与本地存储交互的基础操作。本文将深入解析Android文件读写源码,探讨如何在Android应用中创建、读取、修改和删除文件,并涉及权限管理和存储位置的选择。 首先,Android提供...
然后,在QML中可以通过导入这个模块来调用对应的API,如打开、读取、写入文件或进行音频录制。 总结来说,这个Demo提供了以下关键知识点: 1. Android运行时权限管理:如何在Qt中检查和请求读写文件和录制音频的...
在Android开发中,进行HTTP请求和文件读写是常见的任务,尤其在与服务器交互和存储本地数据时。本文将详细讲解这两个方面的知识点。 首先,我们来看Android中的HTTP请求。HTTP请求通常用于从服务器获取数据,如JSON...
在这个项目中,我们使用Android Studio来开发一个手机本地文件浏览器,它允许用户浏览并操作设备上的文件和目录。 在Android中,访问文件系统需要遵循特定的权限模型。在Android 4.0(API级别14)到6.0(API级别23...
在Android开发中,FileInputOutput(文件输入/输出)是基础且重要的技能,涉及到应用程序对本地文件系统的操作,包括文件的创建、读取、写入、删除等。本主题主要聚焦于文件的上传和读取,这对于存储和检索用户数据...
在Android平台上,文件读取和管理是开发过程中不可或缺的一部分,特别是在构建用户界面或者处理本地数据时。本示例,"Android 文件读取管理 demo",旨在帮助开发者理解如何有效地操作和展示不同类型的文件。以下是对...