andriod学习——Content的openFileOutput 和 openFileInput操作文件

本文介绍了一个用于Android应用中的文件操作类,包括如何将数据保存到应用私有目录及SD卡上的方法,并提供了读取数据的功能实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package demo.filerw.service;

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

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

/**
 * 文件操作类
 * @author janrone
 * @website http://hujl.sinaapp.com
 */
public class FileService {

	private Context context;
	
	public FileService(Context context) {
		this.context = context;
	}

	//存储数据到文件
	public void saveName(String name) throws Exception{
		//context.getFilesDir();// 得到存放文件的系统目录 /data/data/<package name>/files
		//context.getCacheDir(); //缓存目录  /data/data/<package name>/cache
		FileOutputStream outputStream=context.openFileOutput("deomfilerw.txt", Context.MODE_APPEND);
		outputStream.write(name.getBytes());
		outputStream.close();
	}
	//存储数据到sdcard
	public void saveNameToSDCard(String name) throws Exception{
		Environment.getExternalStorageDirectory(); //得到sdcard目录
		File file=new File("/sdcard","demosdcard.txt");
		FileOutputStream outputStream=new FileOutputStream(file);
		outputStream.write(name.getBytes());
		outputStream.close();
	}
	
	// 读取数据
	public String getName() throws Exception{
		FileInputStream inputStream=context.openFileInput("deomfilerw.txt");
		ByteArrayOutputStream outStream=new ByteArrayOutputStream();
		byte[] buffer=new byte[1024];
		int len=0;
		while ((len=inputStream.read(buffer))!=-1){
			outStream.write(buffer, 0, len);
		}
		outStream.close();
		byte[] data=outStream.toByteArray();
		String name=new String(data);
		return name;
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值