Android读写文件

一,RandomAccessFile写文件函数

Stringstr="nigelyan";

Stringfile="./sdcard/mm.txt";

writefile(file,str);

publicvoidwritefile(String filename , String message)

{

RandomAccessFile rf;

try{

rf =newRandomAccessFile(filename,"rw");

try{

rf.writeChar(0xFEFF);

rf.writeChars(message);//这个要根据不同的情况改变,

rf.close();

}catch(IOException e) {

//TODOAuto-generated catch block

e.printStackTrace();

}

}catch(FileNotFoundException e) {

//TODOAuto-generated catch block

e.printStackTrace();

}

}

二,RandomAccessFile读文件函数

//RandomAccessFile读文件

publicString readfile(String filename)

{

String str =null;

byte[] strbuf =null;

longlenfile = 0 ;

RandomAccessFile rf;

try{

rf =newRandomAccessFile(filename,"rw");

try{

lenfile = rf.length(); //得到文件长度

intsize = (int) lenfile;//强制转换类型

strbuf =newbyte[size]; //申请空间

rf.read(strbuf, 0, size);//读文件到strbuf

str =newString(strbuf,DEFAULT_CHARSET);

rf.close();

}catch(IOException e) {

//TODOAuto-generated catch block

e.printStackTrace();

}

}catch(FileNotFoundException e) {

//TODOAuto-generated catch block

e.printStackTrace();

}

returnstr;

}

三,可能碰到的问题

(一)写出来的文件,有0X00这样的字,给人的感觉是空了一个格再写下一个字的

在写文件时候要写一UNICODE个头rf.writeChar(0xFEFF);

读的时候也会读到这个头的,可以跳过去的

rf.read(strbuf, 2, size-2);//size是文件的长度,不读头,就要减2,要么就有异常发生。

也可以加判断,如果有头在的就rf.read(strbuf, 2, size-2);没有头的就这样rf.read(strbuf, 0, size);

(二)参考JDK_API_1_6_zh_CN.CHMRandomAccessFile对读写文件的一些函数

更多相关文章

  1. C语言函数以及函数的使用
  2. Android处理9.png文件流程
  3. Attribute is missing the Android namespace prefix——android
  4. Android文件系统的结构及目录用途、操作方法 整理
  5. Android NDK开发之Android.mk文件
  6. Android studio 3.1.4 无法获取pom文件
  7. Android Eclipse JNI 调用 .so文件加载
  8. Android 保存文件路径
  9. Android三角函数

随机推荐

  1. Android底部菜单的封装及重用
  2. Android(安卓)UI 滚动、手势、速度的三个
  3. getView中经常出现position=0
  4. Android(安卓)开发架构——MVP(个人认为最
  5. 36、Android编写应用-为新设备添加模块
  6. Android之——史上最简单旋转菜单实现效
  7. Android多文件断点续传(一)——数据封装以
  8. Android实现简单的音乐播放
  9. android 自定义title样式
  10. 周末好去处!猿圈带你【2小时了解Android安