Android OTG U盤檔案讀寫

2021-07-25 14:09:32 字數 1365 閱讀 3429

android otg-u盤檔案讀寫

這是我第一次寫文章,寫的不好的地方請大家多多包涵。

最近因專案需求–在自己專案中寫資料到u盤。然後在網上查詢這方面的資料,也查到了一些,主要是這幾種方式@seu_calvin、@jonesx等,這些資料也給了我很大幫助,但是都沒能很好的解決問題。最後在github上找到了幾個很有效的開源庫,在這裡和大家分享下,希望對你有幫助。

首先先感謝這幾位大牛 @felipe herranz、@magnus、 @jan seeger的貢獻。

有這幾個開源庫:

1、felipe herranz的 pincho-usb-mass-storage-for-android

2、magnus的 libaums

3、jan seeger的 drive-mount

相信你讀到我這邊文章時,關於android otg-u盤讀寫的基本準備工作已經做好了。並且這幾個庫都有詳細的api,下面就說說我的使用感

一、felipe herranz的 pincho-usb-mass-storage-for-android

這個庫很好用,在u盤2.0上傳輸速度也很樂觀,使用前請先讀api。一定要先呼叫mount(int index)方法,index時你想把檔案存放到u盤的哪乙個分割槽(一般我們u盤都只有乙個分割槽,除非你自己有分割槽),所以這兒的index一般就傳0。原始碼如下:

public

boolean

mount(int partitionindex, int cachemode)

......

}

**中partitionindex 即是傳入的分割槽索引。cachemode 為快取模式,0: no cache,1: cache for a 100 mbytes allocation,2: cache half of the fat,3: cache the whole fat。原始碼中也可以看到,支援的u盤格式為fat32。後面就是按照api操作。

在使用中我發現個問題,在大量寫資料時(測試300條),寫到160左就不能繼續寫了,跟蹤原始碼發現到了一定資料後就停在了乙個while迴圈了。

二、magnus的 libaums

這個庫避免了上乙個庫存在的問題,使用方法也比較簡單,並且有詳細的api。注意一點就是u盤寫入資料時不支援多執行緒

public

synchronized

void

write(long devoffset, bytebuffer src) throws ioexception

就寫到這兒了,希望對你有幫助。再次感謝@felipe herranz、@magnus、 @jan seeger。

centos讀不出u盤

centos支援vfat格式和fat32格式的u盤,而且vfat是windows和linux系統都可以使用的格式。如果u盤是ntfs格式的,而又不想切換格式,那麼就需裝個ntfs 3g的包就可以支援ntfs。1.什麼是ntfs 3g ntfs 3g是乙個開源軟體,支援在linux,freebsd,m...

C 檔案讀(逐行讀 逐單詞讀)

include include include include include using namespace std int main ifile.clear ifile.seekg 0 檔案重定位 while ifile word coutvector iterator it text.begi...

U盤資料讀不出怎麼恢復

u盤資料讀不出怎麼恢復 u盤這個小東西,現在真的是潛入到生活的各個方面了,無論是生活還是工作學習,都離不開它,但是現在的u盤因為各種原因壽命都不會特別長啊,如果乙個u盤長久擱置還特別容易出現資料丟失和打不開盤的問題,那這些有啥解決辦法沒有?我們正聊得歡的時候,過去班裡最調皮的同學說 記得我們畢業那年...