操作分佈式文件之五:如何讀寫遠程文件

FttpAdapter是通過FttpReadAdapter來直接讀取遠程文件內容
FttpAdapter fa = new FttpAdapter("fttp://10.232.20.151/home/log/1.log");
FttpReadAdapter reader = fa.getFttpReader();
byte[] bts = reader.readAll();
上面是讀取整個文件的內容,如果文件內容很大,每次只讀取一部分內容,需要指定FttpReadAdapter的讀取範圍:
FttpReadAdapter reader = fa.getFttpReader(5,10);
byte[] bts = reader.readAll();
上面表示從第5個字節,往後讀10個字節
fa.getFttpReader(5,FileAdapter.m(8)) 從第5個字節往後讀8M
fa.getFttpReader(5,FileAdapter.k(512)) 從第5個字節往後讀512K

FttpAdapter是通過FttpWriteAdapter來直接寫入遠程文件內容
FttpAdapter fa = new FttpAdapter("fttp://10.232.20.151/home/log/1.log");
FttpWriteAdapter writer = fa.getFttpWriter();
int r = writer.write("hello world".getBytes());
上面的FttpWriteAdapter沒有指定寫入範圍,默認爲追加在文件末尾,如果需要指定範圍:
FttpWriteAdapter writer = fa.getFttpWriter(5,10);
int r = writer.write("hello world".getBytes());
上面表示從第5個字節開始,往後寫10個字節,寫入內容爲“hello world”,如果寫入內容超出10則截斷,不夠則填補空位。

除readAll和write外,也提供readAllSafety和writeSafety方法,它們用法一樣,但是代表排它讀寫,主要用於併發讀寫。

對於數字存儲,FttpAdapter也提供整形讀寫,可以使用getIntFttpReader和getIntFttpWriter,操作跟字節讀寫類似,只是寫入或者返回的是整數,比如:
fa.getIntFttpReader(5,3) 表示從第5個整數開始,往後讀3個整數
fa.getIntFttpWriter().writeInt(new int[]{1,2,3}) 表示將一個整數數組寫入文件末尾
同樣,整形讀寫也都提供排它讀寫

FttpWriteReadDemo演示了對遠程文件的讀寫操作

郵箱:[email protected]
qq羣:241116021
demo源碼指南及開發包下載地址:
http://www.skycn.com/soft/68321.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章