博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
转 Android - 文件操作
阅读量:4449 次
发布时间:2019-06-07

本文共 2359 字,大约阅读时间需要 7 分钟。

一、资源文件的读取:

 1) 从resource的raw中读取文件数据:

String res = ""; try{ //得到资源中的Raw数据流InputStream in = getResources().openRawResource(R.raw.test);//得到数据的大小int length = in.available();byte [] buffer = new byte[length];//读取数据in.read(buffer);//依test.txt的编码类型选择合适的编码,如果不调整会乱码 res = EncodingUtils.getString(buffer, "BIG5"); //关闭 in.close();}catch(Exception e){ e.printStackTrace(); }

2) 从resource的asset中读取文件数据

String fileName = "test.txt"; //文件名字 String res=""; try{    //得到资源中的asset数据流   InputStream in = getResources().getAssets().open(fileName);    int length = in.available();            byte [] buffer = new byte[length];           in.read(buffer);               res = EncodingUtils.getString(buffer, "UTF-8");       }catch(Exception e){       e.printStackTrace();            }

二、读写/data/data/<应用程序名>目录上的文件:

//写数据public void writeFile(String fileName,String writestr{   try{         FileOutputStream fout =openFileOutput(fileName, MODE_PRIVATE);         byte [] bytes = writestr.getBytes();         fout.write(bytes);         fout.close();       }         catch(Exception e){         e.printStackTrace();        } } //读数据public String readFile(String fileName){   String res="";   try{          FileInputStream fin = openFileInput(fileName);          int length = fin.available();          byte [] buffer = new byte[length];          fin.read(buffer);              res = EncodingUtils.getString(buffer, "UTF-8");          fin.close();          }      catch(Exception e){          e.printStackTrace();      }      return res; }

三、读写SD卡中的文件。也就是/mnt/sdcard/目录下面的文件 :

//写数据到SD中的文件public void writeFileSdcardFile(String fileName,String write_str){  try{        FileOutputStream fout = new FileOutputStream(fileName);        byte [] bytes = write_str.getBytes();        fout.write(bytes);        fout.close();      }      catch(Exception e){         e.printStackTrace();        }    }   //读SD中的文件public String readFileSdcardFile(String fileName){   String res="";   try{          FileInputStream fin = new FileInputStream(fileName);          int length = fin.available();          byte [] buffer = new byte[length];          fin.read(buffer);              res = EncodingUtils.getString(buffer, "UTF-8");          fin.close();             }         catch(Exception e){          e.printStackTrace();         }         return res; }

 

 

转载于:https://www.cnblogs.com/yshyee/p/3368545.html

你可能感兴趣的文章
c++学习-继承
查看>>
[转]SQL Server 性能调优(io)
查看>>
设计模式学习-每日一记(6.原型模式)
查看>>
不已0开头的数字正则
查看>>
HTML撑起浮动子元素得父元素高度
查看>>
LeetCode--018--四数之和(java)
查看>>
Redis消息队列
查看>>
电商网站架构设计
查看>>
http://jingyan.baidu.com/article/4dc40848e7b69bc8d946f127.html
查看>>
WCF netTcp配置
查看>>
单例类
查看>>
python 正则表达式 提取网页中标签的中文
查看>>
LA 2531 The K-league 最大流
查看>>
从零开始学习前端JAVASCRIPT — 6、JavaScript基础DOM
查看>>
Edit显示行号
查看>>
取得字符串中指定的字符str[]
查看>>
delphi TOpenDialog
查看>>
vue - 子路由-路由嵌套
查看>>
static关键字用法
查看>>
JVM调优总结
查看>>