接着上篇,继续研究sdcard的神秘之处。上篇代码不变,本篇新增代码都在下面~~~

继续上代码~~

// 写文件
File path = new File("/mnt/sdcard/sxp/android/test");
File file = new File("/mnt/sdcard/sxp/android/test/test.txt");
if (!path.exists()) {
// 路径不存在? Just 创建
path.mkdirs();
}

if (!file.exists()) {
// 文件不存在、 Just创建
try {
file.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

OutputStreamWriter osw = null;
try {
osw = new OutputStreamWriter(new FileOutputStream(
file));
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
osw.write("我叫石鑫鹏~~~");
osw.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

这段代码是在sdcard上创建一个目录和一个文件,如果这些个目录和文件有的话,当然不需要创建了。

注意,创建目录和创建文件的函数还是很实用的,要记住。向文件中写内容用到一个什么流流流的,写文件经常用到这个妈的~~

在运行之前,先看看讨厌的模拟器上是否有
/mnt/sdcard/sxp/android/test/test.txt

请看图:

睁大你的七斤氪金狗眼,没有/sxp/android/test/test.txt吧~~待我运行一下::::

神了,有这个文件了,***德一草。。。忘了说了,这个黑黑的界面是啥,是shell登到模拟器上去的,adb shell还有很多东西要研究,挖槽~~

 

好了,说完写文件,再来看读文件,上代码

 

很好

// 读文件
if (file.exists()) {
try {
// 读数据
FileInputStream inputStream = new FileInputStream(file);
byte[] buffer = new byte[1024];
inputStream.read(buffer);
inputStream.close();
String result = new String(buffer);
tv = (TextView)this.findViewById(R.id.tv);
tv.setText(result);
} catch (Exception e) {
// TODO: handle exception
}
}

很清晰啊,主要注意点是如何将读取的字节数据转换成字符串~~

很好,读文件还算顺利。

 

时间不早了,先研究到这,sdcard要研究的东西还很多啊,挖槽,我想想,下一步要研究的是:

删除文件?

向文件中追加数据?

删除文件中的数据?

。。。暂时先想这么多吧

posted on 2011-12-29 21:34  C语言答疑课堂  阅读(2124)  评论(0编辑  收藏  举报