這段時間因為開發上要用到本地文件,因此開始接觸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;
}
}
此方法也不用多解釋了。
以上是關於文件操作的最基本的一些功能,也是第一期的學習筆記研究到的內容,更多的內容,過幾天繼續研究繼續寫吧,呵呵。