这段时间因为开发上要用到本地文件,因此开始接触Jsr75的包,Jsr75分两个部分,一部分是File,即本地文件系统,一部分是PIM,说白了就是电话本之类的信息,我先学习的是File部分,通过import javax.microedition.io.file.*里的包,可以实现自由访问本机的文件系统,就跟Windos里的资源管理器一样,在这里我介绍几个我写的方法
一.获取指定路径的目录和文件列表
/* 目录文件列表 */
public Vector list(String path) {
try {
FileConnection fc = (FileConnection) (Connector.open(path));
if (fc.exists()) {
Vector listVec = new Vector(0, 1);
Enumeration en = fc.list();
while (en.
hasMoreElements()) {
listVec.addElement((String) (en.nextElement()));
}
return listVec;
} else
return null;
} catch (Exception e) {
System.
out.println("listErr:" + e.toString());
return null;
}
}
方法里的path参数就是要查找的路径,比如file:///c:/pictures/,切记,如果是目录Path,那么后面的/一定不能省,否则会查找不到内容。这个方法返回的是一个包含了指定Path下的所有目录名和文件名的向量。
二.建立或者保存一个文件到指定路径
/* 保存文件 */
public void saveFile(String path, byte[] fileData) {
try {
FileConnection fc = (FileConnection) (Connector.open(path));
fc.create();
fc.setWritable(true);
OutputStream os = fc.openOutputStream();
os.write(fileData);
os.
close();
} catch (Exception e) {
System.out.println("saveFileErr:" + e.toString());
}
}
fileData是需要保存的文件内容,可以是声音,也可以是图像,或者文字之类
三.删除指定文件
/* 删除文件 */
public void deleteFile(String path) {
try {
FileConnection fc = (FileConnection) (Connector.open(path));
if (fc.exists())
fc.delete();
} catch (Exception e) {
System.out.println("deleteFileErr:" + e.
toString());
}
}
这个方法就不用多解释了
四.读取指定文件
/* 读取文件 */
public byte[] readFile(String path) {
try {
FileConnection fc = (FileConnection) (Connector.open(path));
if (fc.exists()) {
InputStream is = fc.openInputStream();
byte[] temp = new byte[is.available()];
is.read(temp);
is.close();
return temp;
} else
return null;
} catch (Exception e) {
System.out.println("readFileErr:" + path + e.toString());
return null;
}
}
此方法也不用多解释了。
以上是关于文件操作的最基本的一些功能,也是第一期的学习笔记研究到的内容,更多的内容,过几天继续研究继续写吧,呵呵。
原文转自J2ME开发网----作者:刀剑啸