氟塑料離心泵www.buybeng.com

          jquery教程http://www.software8.co/wzjs/jquery/

          Java之RandomAccessFile小結

          今天跟大家分享一下javase中的關于I/O的操作:
          有時我們需要在文件的末尾追加一些內容,在這時用RandomAccessFile就很好。
          這個類有兩個構造方法:

          RandomAccessFile(File file, String mode) 
                    創建從中讀取和向其中寫入(可選)的隨機訪問文件流,該文件由 File 參數指定。
          RandomAccessFile(String name, String mode) 
                    創建從中讀取和向其中寫入(可選)的隨機訪問文件流,該文件具有指定名稱。

          其中mode 參數指定用以打開文件的訪問模式。允許的值及其含意為:
          "r" 以只讀方式打開。調用結果對象的任何 write 方法都將導致拋出 IOException。
          "rw" 打開以便讀取和寫入。如果該文件尚不存在,則嘗試創建該文件。
          "rws" 打開以便讀取和寫入,對于 "rw",還要求對文件的內容或元數據的每個更新都同步寫入到底層存儲設備。
          "rwd"   打開以便讀取和寫入,對于 "rw",還要求對文件內容的每個更新都同步寫入到底層存儲設備。
          "rws" 和 "rwd" 模式的工作方式極其類似 FileChannel 類的 force(boolean) 方法,分別傳遞 true 和 false 參數,除非它們始終應用于每個 I/O 操作,并因此通常更為高效。如果該文件位于本地存儲設備上,那么當返回此類的一個方法的調用時,可以保證由該調用對此文件所做的所有更改均被寫入該設備。這對確保在系統崩潰時不會丟失重要信息特別有用。如果該文件不在本地設備上,則無法提供這樣的保證。
          "rwd" 模式可用于減少執行的 I/O 操作數量。使用 "rwd" 僅要求更新要寫入存儲的文件的內容;使用 "rws" 要求更新要寫入的文件內容及其元數據,這通常要求至少一個以上的低級別 I/O 操作。


          如果存在安全管理器,則使用 file 參數的路徑名作為其參數調用它的 checkRead 方法,以查看是否允許對該文件進行讀取訪問。如果該模式允許寫入,那么還使用該路徑參數調用該安全管理器的 checkWrite 方法,以查看是否允許對該文件進行寫入訪問。

          如果要在文件的結束點追加內容,那就用第一個構造方法,調用RandomAccessFile的seek(long lg)方法,該方法傳遞進去一個long型的數據,我們正好可以把file.length()傳遞進去,這樣就按照要求在文件末尾追加內容。

          但這里可能會遇到了亂碼問題,如果用的RandomAccessFile的writeBytes(String s)方法寫入內容,就會出現亂碼,所以最好是用write(byte[] b)方法,例如:String s = "中文"; raf.write(s.getBytes());這樣就很好的解決了亂碼問題。關于這兩種方法,許多人認為好像差不多,其實是完全相反的方式,writeBytes(String s)方法將中文拆成兩個字節寫進文本,所以會造成亂碼,write(byte[] b)方法是將每兩個字節合成一個中文并寫時文本,所以不會出現亂碼。
          我們還可以調用writeUTF(String str)方法避免亂碼。
          結下來還有一個解決換行的問題,寫了“/n”不管用啊。實際上要用“/r/n”才行。
          “/r”即回車,回到一行的開頭。“/n”即換行,另起一行。這大家都是知道的。
          我們在程序里寫文件的時候所謂的“回車符”確切的說應該是“回車換行符”。
          在windows系統下,回車換行符號是“/r/n”,但是在Linux等系統下是沒有“/r”符號的,我們一般都是在window下,所以說在用程序寫文件是應該是“/r/n”才對。
          補充:為了適應跨平臺需求,建議回車換行用System.getProperty("line.separator")。
           

          posted on 2012-10-04 16:58 你爸是李剛 閱讀(173) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2012年10月>
          30123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          導航

          統計

          常用鏈接

          留言簿

          隨筆檔案

          文章檔案

          技術網站

          行業網站

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          站長網 氟塑料離心泵 注塑機 液晶廣告機
          主站蜘蛛池模板: 靖西县| 竹山县| 桦南县| 保靖县| 塔城市| 长顺县| 武威市| 兰西县| 抚松县| 平邑县| 南宁市| 阿图什市| 通州市| 铜山县| 宜春市| 漯河市| 沙洋县| 政和县| 沛县| 岳普湖县| 吉隆县| 万安县| 黄浦区| 麻阳| 工布江达县| 博湖县| 忻城县| 盘山县| 攀枝花市| 屯昌县| 二连浩特市| 乌审旗| 红河县| 奉化市| 遵义县| 莎车县| 黔东| 沛县| 普陀区| 巩义市| 安远县|