2011-08-16 124 views
3

我已經爲BlackBerry設備編寫了一個應用程序,用於在內部存儲器中存儲一些文件。我用這條線去存儲BlackBerry文件系統

Connector.open("file:///store/BlackBerry/myDir/", Connector.READ_WRITE); 

第一次我的應用程序試圖訪問該存儲的連接我檢查,看看是否存在正確的目錄,如果不是我創造他們.mkdir();

這過程在兩個設備(一個粗體和一個手電筒)上完美地適用於我。我現在試圖在Curve上運行此應用程序,但它無法爲我創建目錄。它給我這個錯誤:

「net.rin.device.api.io.file.File.IOException:文件系統錯誤(12)」

做任何設備上使用的東西,除了「存儲/」在他們的內部存儲路徑?或者是否還有其他可能與Curve設備內部存儲器不同的其他內容,這會導致此設備上的該行異常,但不會影響其他設備?

回答

4

您應該使用FileSystemRegistry.listRoots()來找出可用的根文件系統。 Bold 9000和Torch 9800都具有內部閃存存儲,但曲線沒有IIRC。另見link from RIM

1

你確定這是觸發這個錯誤的代碼嗎? 12似乎表明SQLite工作不正常。查看this link,其中有些人從打開和關閉(數據庫)文件中快速獲取該文件。他還表示Curve不支持「設備內存中的SQLite」。

另一個與SQL無關的Google發現:RIMs support pages。那裏的問題是需要關閉兩個輸出流和文件連接。

+0

我看到了這兩個。我的情況也不是這樣。我想我已經知道了。看來「store /」的根目錄只能在這個設備上讀取。我開始使用「store/home/user/BlackBerry/mydir /」,它似乎在工作。\ – FoamyGuy

2

事實證明,根(文件:/// store /)只能在此設備上讀取。爲了讓它工作,我剛剛進入了一個更深的目錄。我正在使用:

"file:///store/home/user/BlackBerry/myDir/"