程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> J2ME >> j2me文件把持

j2me文件把持

編輯:J2ME

最近由於開發需要,研究了一下J2ME的文件系統把持(JSR75),對常用把持進行了一下總結。

(1)判定 手機是否支撐文件系統

/**
    * 檢測手機是否支撐文件系統
    * @return
    */
public boolean isSupportFileSystem(){
    String v = System
    .getProperty("microedition.io.file.FileConnection.version");
    if(v!=null)return true;
    return false;
}
通過判定System的Property是否存在來判定。

(2)打開文件連接


            無論是要讀文件還是要寫文件,首先必需得到該文件的Connection。


            應用Connector.open方法,有2個參數,第一個參數是路徑,第二個參數是權限。


            權限沒什麼好說的了,一共就3個可能:Connector.READ、Connector.WRITE、Connector.READ_WRITE。


            現在來說說路徑,路徑是以URL情勢書寫的,以"file://"開頭,假如是本機上的文件就加上localhost,即假如是E:/a.dat文件的路徑應當是"file://localhost/E:/a.dat"。

            順便說說手機的目錄成果,由於我是應用S60第3版的機器進行測試,所以先容一下其目錄結構。KJava程序可拜訪的驅動器就2個:C和E(假如有擴大卡)。E驅動器下所有目錄文件都可以拜訪,路徑是E:/開端;C驅動則不是,只有圖片、聲音和影像三個目錄可以拜訪,拜訪其它目錄將拋 SecurityException,其這三個目錄的路徑分辨是C:/data/Images、C:/data/Sounds、C: /data/Videos。怎麼知道有哪些目錄可以拜訪呢,很簡略把WTK自帶的PDADemo放在手機上,運行FileBrowser測試一下就行了。

              FileConnection fc = (FileConnection)
                  Connector.open(file://localhost/E:/a.dat    , Connector_READ_WRITE);

(3)讀文件


             InputStream fis = fc.openInputStream();    

            很簡略,就是用openInputStream打開一個流,和讀取網絡數據一樣,這裡就不贅述了。


(4)寫文件

          byte[] b="Hello World".getBytes();

  OutputStream fos = fc.openOutputStream();   

            fos.write(b,0,b.length);

            應用方法也是和寫網絡數據一樣,打開一個OutputStream就可以了,不過有一點要留心的(在N93上測試的成果,其它機器不明白),寫文件總是從開頭開端寫,而且不會清空本來的內容。例如本來文件中有內容abcdefghijk,再打開文件往裡面寫進123,最後文件的內容是什麼呢?不是 abcdefghijk123,也不是123,而是123defghijk。那麼需要續寫文件怎麼辦?我的做法的先把原內容讀出到一個 StringBuffer中,再續寫在StringBuffer裡,再寫進文件,不知道還有沒有更方便的方法。

====================

   String    szFileName="file:///root1/text.txt"   
   FileConnection    fconn    =    (FileConnection)    Connector.open(szFileName);   
   InputStream    in    =    fconn.openInputStream();

-----------------------------------------------

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved