浏览 11692 次
锁定老帖子 主题:File 读写
精华帖 (0) :: 良好帖 (0) :: 新手帖 (5) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-01-18
最后修改:2010-01-18
File 读写
[功能] 因为文件读写很平常 使用打算把这个功能写出辅助类的形式 以便以后方便使用 就是:FileIOHelper
[代码] 1. 定义指定的File 以及其上的 FileInputStream FileOutputStream Context context; File file; FileInputStream fin; FileOutputStream fout; public FileIOHelper(Context c, String name,String path) throws IOException{ context = c; file = new File(path,name); file.createNewFile(); fin = new FileInputStream(file); fout = new FileOutputStream(file); }
2. 文件写 public void wrire(String s) throws IOException{ fout.write(s.getBytes()); fout.close(); }
3. 文件读 public byte[] read(int s,int l) throws IOException{ byte[] save = new byte[l]; fin.read(save, s, l); return save; }
4. 编码转换 public String encode(byte[] array){ return EncodingUtils.getString(array,TEXT_ENCODING); }
5. 文件长度 public int length(){ return (int)file.length(); }
6. 如何使用FileIOHelper public class FileIOUsage extends Activity { public final static String NAME = "griffinshi.txt"; public final static String PATH = "data/data/com.android.FileIO"; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //setContentView(R.layout.main); try { FileIOHelper helper = new FileIOHelper(this,NAME,PATH ); String string = "Hello to Gryphone!"; helper.wrire(string); byte[] array = helper.read(0, helper.length()); String data = helper.encode(array); TextView tv = new TextView(this); tv.setText(data); setContentView(tv); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
7. 其他待解决问题 * 文件似乎只支持一次写 而不支持追加操作 不知何故 以后有时间在回头看看
8. 生成的文件: E:\android-dev\sdk\android-sdk-windows-1.5_r2\tools>adb shell # cd data cd data # cd data cd data # cd com.android.FileIO cd com.android.FileIO # ls ls griffinshi.txt lib
9. 运行结果:
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-03-12
FileOutputStream fout = new FileOutputStream(file,MODE_APPEND);
这样是否可以追加? |
|
返回顶楼 | |
发表时间:2010-03-15
是的 这样是可以追加的
|
|
返回顶楼 | |
发表时间:2010-03-24
樓主 小弟愚味 看過很多文章有說過關於IO的
但是PATH 都是在DATA/DATA/PACKAGE_NAME/FILES/內 我在樓主的檔案中或是自己的都沒有這個檔案 百思不得其解 |
|
返回顶楼 | |
发表时间:2010-06-22
楼上你说的那个PACKAGE_NAME 是指你建立的 项目的具体的包名
这个在AndroidManifest里面有定义的 你可以新建个项目 然后创建个文件 在DDMS里面就能查看了 |
|
返回顶楼 | |
发表时间:2010-06-23
android里面这样用file不是好方法。
一般用 context.getFile(); context.getFileStream();//具体方法名字忘记了。 之类的获取context的文件。不提倡使用绝对路径获取文件。 |
|
返回顶楼 | |
发表时间:2010-08-26
getDir(String name, int mode)
getFilesDir() |
|
返回顶楼 | |