Android读写文件汇总

一、 从resource中的raw文件夹中获取文件并读取数据(资源文件只能读不能写)

 1 String res = ""; 2  3 try{ 4  5 InputStream in = getResources().openRawResource(R.raw.bbi); 6  7 //在\Test\res\raw\bbi.txt, 8  9 int length = in.available();10 11 byte [] buffer = new byte[length];12 13 in.read(buffer);14 15 //res = EncodingUtils.getString(buffer, "UTF-8");16 17 //res = EncodingUtils.getString(buffer, "UNICODE");18 19 res = EncodingUtils.getString(buffer, "BIG5");20 21 //依bbi.txt的编码类型选择合适的编码,如果不调整会乱码22 23 in.close();24 25 }catch(Exception e){26 27 e.printStackTrace();28 29 }

myTextView.setText(res);//把得到的内容显示在TextView上

 

二、 从asset中获取文件并读取数据(资源文件只能读不能写)

 1 String fileName = "yan.txt"; //文件名字 2  3 String res=""; 4  5 try{ 6  7 InputStream in = getResources().getAssets().open(fileName); 8  9 // \Test\assets\yan.txt这里有这样的文件存在10 11 int length = in.available();12 13 byte [] buffer = new byte[length];14 15 in.read(buffer);16 17 res = EncodingUtils.getString(buffer, "UTF-8");18 19 }catch(Exception e){20 21 e.printStackTrace();22 23 }

三、 从sdcard中去读文件,首先要把文件通过\android-sdk-windows\tools\adb.exe把本地计算机上的文件copy到sdcard上去,adb.exe push e:/Y.txt /sdcard/, 不可以用adb.exe push e:\Y.txt \sdcard\ 同样: 把仿真器上的文件copy到本地计算机上用: adb pull ./data/data/com.tt/files/Test.txt e:/

 1 String fileName = "/sdcard/Y.txt"; 2  3 //也可以用String fileName = "mnt/sdcard/Y.txt"; 4  5 String res=""; 6  7 try{ 8  9 FileInputStream fin = new FileInputStream(fileName);10 11 //FileInputStream fin = openFileInput(fileName);12 13 //用这个就不行了,必须用FileInputStream14 15 int length = fin.available();16 17 byte [] buffer = new byte[length];18 19 fin.read(buffer);20 21 res = EncodingUtils.getString(buffer, "UTF-8");22 23 fin.close();24 25 }catch(Exception e){26 27 e.printStackTrace();28 29 }30 31 myTextView.setText(res);

 

四、 写文件, 一般写在\data\data\com.test\files\里面,打开DDMS查看file explorer是可以看到仿真器文件存放目录的结构的

 1 String fileName = "TEST.txt"; 2  3 String message = "FFFFFFF11111FFFFF" ; 4  5 writeFileData(fileName, message); 6  7 public voidwriteFileData(String fileName,String message){ 8  9 try{10 11 FileOutputStream fout =openFileOutput(fileName, MODE_PRIVATE);12 13 byte [] bytes = message.getBytes();14 15 fout.write(bytes);16 17 fout.close();18 19 }20 21 catch(Exception e){22 23 e.printStackTrace();24 25 }26 27 }

五、 写, 读data/data/目录(相当AP工作目录)上的文件,用openFileOutput

 1 //写文件在./data/data/com.tt/files/下面 2  3 public voidwriteFileData(String fileName,String message){ 4  5 try{ 6  7 FileOutputStream fout =openFileOutput(fileName, MODE_PRIVATE); 8  9 byte [] bytes = message.getBytes();10 11 fout.write(bytes);12 13 fout.close();14 15 }16 17 catch(Exception e){18 19 e.printStackTrace();20 21 }22 23 }24 25 //-------------------------------------------------------26 27 //读文件在./data/data/com.tt/files/下面28 29 public String readFileData(String fileName){30 31 String res="";32 33 try{34 35 FileInputStream fin = openFileInput(fileName);36 37 int length = fin.available();38 39 byte [] buffer = new byte[length];40 41 fin.read(buffer);42 43 res = EncodingUtils.getString(buffer, "UTF-8");44 45 fin.close();46 47 }48 49 catch(Exception e){50 51 e.printStackTrace();52 53 }54 55 return res;56 57 }

六、 写, 读sdcard目录上的文件,要用FileOutputStream, 不能用openFileOutput

 1 //写在/mnt/sdcard/目录下面的文件 2  3 public voidwriteFileSdcard(String fileName,String message){ 4  5 try{ 6  7 //FileOutputStream fout = openFileOutput(fileName, MODE_PRIVATE); 8  9 FileOutputStream fout = newFileOutputStream(fileName);10 11 byte [] bytes = message.getBytes();12 13 fout.write(bytes);14 15 fout.close();16 17 }18 19 catch(Exception e){20 21 e.printStackTrace();22 23 }24 25 }26 27 //读在/mnt/sdcard/目录下面的文件28 29 public String readFileSdcard(String fileName){30 31 String res="";32 33 try{34 35 FileInputStream fin = new FileInputStream(fileName);36 37 int length = fin.available();38 39 byte [] buffer = new byte[length];40 41 fin.read(buffer);42 43 res = EncodingUtils.getString(buffer, "UTF-8");44 45 fin.close();46 47 }48 49 catch(Exception e){50 51 e.printStackTrace();52 53 }54 55 return res;56 57 }

注: openFileOutput是在raw里编译过的,FileOutputStream是任何文件都可以
Android读写文件汇总 http://www.ziyouku.com/archives/android-to-read-and-write-file-summary.html

时间: 2025-01-27 20:01:18

Android读写文件汇总的相关文章

Android读写文件的N种写法

Android 读写文件的N种写法(待续...) 读取raw文件 // 读取raw文件 private void rawRead(){ String ret = ""; try { InputStream is = getResources().openRawResource(R.raw.my_raw); int len = is.available(); byte []buffer = new byte[len]; is.read(buffer); ret = EncodingUti

Android 读写文件方法汇总

以下是对Android中读写文件的方法进行了汇总介绍,需要的朋友可以过来参考下   一. 从resource中的raw文件夹中获取文件并读取数据(资源文件只能读不能写) 复制代码 代码如下: String res = ""; try{ InputStream in = getResources().openRawResource(R.raw.bbi); //在Testresrawbbi.txt, int length = in.available(); byte [] buffer =

Android 读写文件方法汇总_Android

一. 从resource中的raw文件夹中获取文件并读取数据(资源文件只能读不能写) 复制代码 代码如下: String res = "";try{InputStream in = getResources().openRawResource(R.raw.bbi);//在\Test\res\raw\bbi.txt,int length = in.available();byte [] buffer = new byte[length];in.read(buffer);//res = E

Android 读写文件操作程序

 代码如下 复制代码 数据存储与访问常用方式: 文件 SharedPreferences(偏好参数设置) SQLite数据库 内容提供者(Content provider) 网络 Activity(Context) Context.getCacheDir()方法用于获取/data/data/<package name>/cache目录 Context.getFilesDir()方法用于获取/data/data/<package name>/files目录 Activity(Cont

android 中添加了读写文件的权限,却报(Permission denied)错误

问题描述 android 中添加了读写文件的权限,却报(Permission denied)错误 android 中添加了读写文件的权限,却报open failed: EACCES (Permission denied) 太坑人了! 添加了权限 //代码部分: File file2 = new File(Environment.getExternalStorageDirectory(),"file2.txt"); file2.setWritable(true); file2.setRe

Android中文件读写(输入流和输出流)操作小结_Android

1. Android中文件读写的原理: (1).所有文件的储存都是字节的储存. (2).在磁盘上保留的并不是文件的字符而是先把字符编码成字节,再储存这些字节到磁盘. (3).在读取文件(特别是文本文件)时,也是一个字节一个字节的读取以形成字节序列. 2. 字节流和字符流的区别: (1).字节流提供了处理任何类型的IO操作的功能,但它不能直接处理Unicode字符,字符流就可以. (2).字节流转换成字符流可以用InputStreamReader,OutputStreamWriter. 一般我们在

百度地图-android在子线程里读写文件里的经纬度并绘制轨迹,activity销毁时程序崩溃,特来求助!

问题描述 android在子线程里读写文件里的经纬度并绘制轨迹,activity销毁时程序崩溃,特来求助! public class DrawPathActivity extends BaseActivity { private MapView mMapView; private BaiduMap mBaiduMap; private static final int POINT_COUNT_PER_GROUP = 100; private LatLng startPoint; private

Android中文件读写(输入流和输出流)操作小结

1. Android中文件读写的原理: (1).所有文件的储存都是字节的储存. (2).在磁盘上保留的并不是文件的字符而是先把字符编码成字节,再储存这些字节到磁盘. (3).在读取文件(特别是文本文件)时,也是一个字节一个字节的读取以形成字节序列. 2. 字节流和字符流的区别: (1).字节流提供了处理任何类型的IO操作的功能,但它不能直接处理Unicode字符,字符流就可以. (2).字节流转换成字符流可以用InputStreamReader,OutputStreamWriter. 一般我们在

Android实现文件的保存与读取功能示例_Android

本文实例讲述了Android实现文件的保存与读取功能.分享给大家供大家参考,具体如下: 注: 在Activity中有 getFileDir() 和 getCacheDir(); 方法可以获得当前的手机自带的存储空间中的当前包文件的路径 getFileDir() ----- /data/data/cn.xxx.xxx(当前包)/files getCacheDir() ----- /data/data/cn.xxx.xxx(当前包)/cache 1. 编写文件读取与写入功能实现类 FileServi