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);
}
}
分享到:
相关推荐
在开始文件操作之前,必须在AndroidManifest.xml文件中声明相应的权限,特别是对于读写外部存储(SD卡): ```xml <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> ...
在Android系统中,文件读写操作是开发过程中常见的任务,涉及到资源文件、数据区文件以及外部存储(如SD卡)的访问。以下是对这些操作的详细说明: 一、资源文件的读取 1. 从resource的raw中读取文件数据: 资源...
除了SharedPreferences,Android也支持更复杂的文件操作,例如使用File类直接操作XML或JSON文件。这适用于需要存储大量结构化数据或自定义格式的情况。 1. **创建和写入XML文件**: - 使用`FileOutputStream`或`...
在Android应用开发中,文件读写权限是至关重要的一个环节,因为这关乎到应用程序能否正常地存储和访问数据。Android操作系统采用严格的权限管理系统,确保应用只能在其被授权的范围内操作。下面将详细介绍Android中...
在Android系统中,进行文件的...总结来说,Android的文件操作涉及到`Environment`类的使用、文件对象的创建、文件的读写以及权限管理等多个方面。开发者需要熟悉这些概念和方法,以便在实际项目中高效地处理文件数据。
2. 使用QStandardPaths和QFile进行Android文件操作。 3. 音频录制的实现,包括QAudioInput和QMediaRecorder的使用。 4. FFmpeg在Qt中的应用,通过JNI接口进行多媒体处理。 5. 创建QML扩展插件,使QML能够调用C++的...
这个工具类只是一个基础框架,你可能需要根据具体需求进行扩展,例如支持多文件操作、目录操作、文件流操作等。同时,为了优化用户体验,你还可以添加进度条显示文件传输的进度,或者使用异步任务来避免阻塞UI线程。...
- **异常处理**:由于文件操作可能遇到各种异常情况(如文件不存在、权限不足等),因此编写代码时应加入适当的异常处理逻辑。 - **资源释放**:在完成文件读写操作后,应及时调用`close()`方法关闭文件流,以释放...
以上就是关于Android内部存储读写文件,包括获取路径、创建文件夹、读写操作以及解压文件的基本知识。在实际应用中,还需要考虑异常处理、文件权限管理等更多细节,以确保文件操作的稳定性和安全性。
总的来说,Android 13的读写权限变更使得开发者必须更加谨慎地处理文件操作,尤其是当涉及到外部存储时。小米14作为Android 13的设备,同样遵循这些规则。通过理解并适配新的API,如`DocumentFile`和`MediaStore`,...
本文将详细讲解如何在Android系统中执行读取和写入文件的操作,以实例“android读写文件例程”为例,具体是在"data/data/example.fliedemo/"目录下创建一个名为"abcd.txt"的文本文件。 首先,我们需要了解Android的...
在Android平台上,对SD卡(外部存储)进行读写文件是常见的操作,尤其对于需要存储大量数据或资源的应用来说更是必不可少。本实例将探讨如何在Android应用中实现SdCard的读取和写入功能,这涉及到Android的权限管理...
在实际应用中,开发者通常会结合Android的存储API(如`File`类、`ContentResolver`等)以及IO流,以实现更复杂的文件操作。通过熟练掌握这些基础知识,可以有效地在Android系统中进行文件读写操作,满足各种需求。
总的来说,理解并实现"Android USB检测,文件读写demo",不仅能够让你掌握USB设备管理的基本操作,还能提升你在移动设备与外部存储设备交互方面的开发能力。不断实践和学习,你将能更好地应对各种复杂的USB相关需求...
Android jni文件读写 NDK文件读取 读写 操作 NDK数据加密DEMO 源码直接上传,运行在android6.0系统测试通过
文件操作可能会抛出异常,如`FileNotFoundException`、`IOException`等,因此需要进行适当的异常处理。 四、Android存储选择器 自Android 10(API级别29)起,系统引入了存储访问框架(SAF,Storage Access ...
本文将深入探讨如何在Qt 5.12.6版本下实现在Android设备上动态申请存储权限,并进行文件操作,如创建目录、创建文件以及读写文件。 首先,为了在Android设备上进行文件操作,你需要遵循Android的权限管理系统。自...
以上就是Android读写文件的基本知识点,掌握这些,开发者就能在Android应用中灵活地处理文件了。实际开发中,应根据具体需求选择合适的方法,并注意权限管理和性能优化。希望这个介绍能为初学者提供帮助,也欢迎大家...
本文将详细讲解如何在Android中实现对.xlsx和.xls格式的Excel文件进行读写,主要涉及的技术点包括文件操作、数据解析以及第三方库的使用。 一、文件操作基础 在Android中,文件操作通常涉及到以下几个步骤: 1. ...
例如,`FileInputStream`和`FileOutputStream`用于文件操作,`ByteArrayInputStream`和`ByteArrayOutputStream`用于内存操作。 7. **异步操作**: 由于文件I/O可能耗时较长,建议在非UI线程(如AsyncTask或...