`

android读写文件操作

阅读更多
package com.example.service;

import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

import android.content.Context;
import android.os.Environment;



public class FileService {
	private Context context;
	public FileService(Context context){
		this.context=context;
	}
	/**
	 * 保存文件
	 * @param name
	 * @param content
	 * @throws FileNotFoundException 
	 */
	public void save(String name,String content) throws Exception{
		//私有操作模式:创建出来的文件仅能被本应用访问,其它应用无法访问该文件。
		//另会覆盖原文件的内容
		FileOutputStream o=context.openFileOutput(name, Context.MODE_PRIVATE);
		write(content, o);
	}
	
	/**
	 * 写入
	 * @param content
	 * @param o
	 * @throws IOException
	 */
	private void write(String content, FileOutputStream o) throws IOException {
		o.write(content.getBytes());
		o.close();
	}
	
	/**
	 * 追加文件
	 * @param filename
	 * @param content
	 * @throws Exception
	 */
	public void saveAppend(String filename,String content)throws Exception{
		FileOutputStream o=context.openFileOutput(filename, Context.MODE_APPEND);//保存在手机自带的文件里面
		write(content, o);
	}
	
	/**
	 * 文件,当前文件可以被其他应用读取
	 * @param filename
	 * @param content
	 * @throws Exception
	 */
	public void saveReadable(String filename,String content)throws Exception{
		FileOutputStream o=context.openFileOutput(filename, Context.MODE_WORLD_READABLE);
		write(content, o);
	}
	
	/**
	 * 保存文件到SD卡上.需要申请往SD卡写入数据的权限
	 * @param filename
	 * @param content
	 * @throws Exception
	 */
	public void saveToSDCard(String filename,String content)throws Exception{
		File file=new File(Environment.getExternalStorageDirectory(),filename);
		FileOutputStream o=new FileOutputStream(file);
		o.write(content.getBytes());
		o.close();
	}
	
	/**
	 * 当前文件可以被其他应用写入
	 * @param filename
	 * @param content
	 * @throws Exception
	 */
	public void saveWriteable(String filename,String content)throws Exception{
		FileOutputStream o=context.openFileOutput(filename, Context.MODE_WORLD_WRITEABLE);
		write(content, o);
	}
	/**
	 * 读取文件
	 * @param filename
	 * @return
	 * @throws Exception
	 */
	public String read(String filename)throws Exception{
		FileInputStream i=context.openFileInput(filename);
		ByteArrayOutputStream bs=new ByteArrayOutputStream();
		byte[] buffer=new byte[1024];
		int len=0;
		//-1表示读到文件的末尾
		while((len=i.read(buffer))!=-1){
			bs.write(buffer,0,len);
		}
		byte[] data=bs.toByteArray();
		return new String(data);
	}
}

分享到:
评论

相关推荐

    Android 读写文件实例

    在开始文件操作之前,必须在AndroidManifest.xml文件中声明相应的权限,特别是对于读写外部存储(SD卡): ```xml <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> ...

    Android 文件读写操作

    在Android系统中,文件读写操作是开发过程中常见的任务,涉及到资源文件、数据区文件以及外部存储(如SD卡)的访问。以下是对这些操作的详细说明: 一、资源文件的读取 1. 从resource的raw中读取文件数据: 资源...

    Android读写配置文件

    除了SharedPreferences,Android也支持更复杂的文件操作,例如使用File类直接操作XML或JSON文件。这适用于需要存储大量结构化数据或自定义格式的情况。 1. **创建和写入XML文件**: - 使用`FileOutputStream`或`...

    android文件读写权限

    在Android应用开发中,文件读写权限是至关重要的一个环节,因为这关乎到应用程序能否正常地存储和访问数据。Android操作系统采用严格的权限管理系统,确保应用只能在其被授权的范围内操作。下面将详细介绍Android中...

    android 内存 文件读写操作

    在Android系统中,进行文件的...总结来说,Android的文件操作涉及到`Environment`类的使用、文件对象的创建、文件的读写以及权限管理等多个方面。开发者需要熟悉这些概念和方法,以便在实际项目中高效地处理文件数据。

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

    2. 使用QStandardPaths和QFile进行Android文件操作。 3. 音频录制的实现,包括QAudioInput和QMediaRecorder的使用。 4. FFmpeg在Qt中的应用,通过JNI接口进行多媒体处理。 5. 创建QML扩展插件,使QML能够调用C++的...

    Android 实现读写U盘文件

    这个工具类只是一个基础框架,你可能需要根据具体需求进行扩展,例如支持多文件操作、目录操作、文件流操作等。同时,为了优化用户体验,你还可以添加进度条显示文件传输的进度,或者使用异步任务来避免阻塞UI线程。...

    Android平台的txt文本文件读写操作

    - **异常处理**:由于文件操作可能遇到各种异常情况(如文件不存在、权限不足等),因此编写代码时应加入适当的异常处理逻辑。 - **资源释放**:在完成文件读写操作后,应及时调用`close()`方法关闭文件流,以释放...

    内部存储读写文件

    以上就是关于Android内部存储读写文件,包括获取路径、创建文件夹、读写操作以及解压文件的基本知识。在实际应用中,还需要考虑异常处理、文件权限管理等更多细节,以确保文件操作的稳定性和安全性。

    Android 13读写权限变更,小米14 txt 文件读写

    总的来说,Android 13的读写权限变更使得开发者必须更加谨慎地处理文件操作,尤其是当涉及到外部存储时。小米14作为Android 13的设备,同样遵循这些规则。通过理解并适配新的API,如`DocumentFile`和`MediaStore`,...

    android读写文件例程

    本文将详细讲解如何在Android系统中执行读取和写入文件的操作,以实例“android读写文件例程”为例,具体是在"data/data/example.fliedemo/"目录下创建一个名为"abcd.txt"的文本文件。 首先,我们需要了解Android的...

    Android应用源码SdCard读写文件实例

    在Android平台上,对SD卡(外部存储)进行读写文件是常见的操作,尤其对于需要存储大量数据或资源的应用来说更是必不可少。本实例将探讨如何在Android应用中实现SdCard的读取和写入功能,这涉及到Android的权限管理...

    android的IO流读写文件demo.zip_DEMO_android_android的IO流读写文件操作

    在实际应用中,开发者通常会结合Android的存储API(如`File`类、`ContentResolver`等)以及IO流,以实现更复杂的文件操作。通过熟练掌握这些基础知识,可以有效地在Android系统中进行文件读写操作,满足各种需求。

    Android USB检测,文件读写demo

    总的来说,理解并实现"Android USB检测,文件读写demo",不仅能够让你掌握USB设备管理的基本操作,还能提升你在移动设备与外部存储设备交互方面的开发能力。不断实践和学习,你将能更好地应对各种复杂的USB相关需求...

    Android NDK文件读取 读写 操作 NDK数据加密DEMO

    Android jni文件读写 NDK文件读取 读写 操作 NDK数据加密DEMO 源码直接上传,运行在android6.0系统测试通过

    Android SD卡文件读写操作

    文件操作可能会抛出异常,如`FileNotFoundException`、`IOException`等,因此需要进行适当的异常处理。 四、Android存储选择器 自Android 10(API级别29)起,系统引入了存储访问框架(SAF,Storage Access ...

    Qt移动开发-Android上实现本地文件读写.zip

    本文将深入探讨如何在Qt 5.12.6版本下实现在Android设备上动态申请存储权限,并进行文件操作,如创建目录、创建文件以及读写文件。 首先,为了在Android设备上进行文件操作,你需要遵循Android的权限管理系统。自...

    Android读写文件

    以上就是Android读写文件的基本知识点,掌握这些,开发者就能在Android应用中灵活地处理文件了。实际开发中,应根据具体需求选择合适的方法,并注意权限管理和性能优化。希望这个介绍能为初学者提供帮助,也欢迎大家...

    android 读写Excel(支持xlsx xls格式)

    本文将详细讲解如何在Android中实现对.xlsx和.xls格式的Excel文件进行读写,主要涉及的技术点包括文件操作、数据解析以及第三方库的使用。 一、文件操作基础 在Android中,文件操作通常涉及到以下几个步骤: 1. ...

    android读写数据,文件i/o操作

    例如,`FileInputStream`和`FileOutputStream`用于文件操作,`ByteArrayInputStream`和`ByteArrayOutputStream`用于内存操作。 7. **异步操作**: 由于文件I/O可能耗时较长,建议在非UI线程(如AsyncTask或...

Global site tag (gtag.js) - Google Analytics