2012-06-23 139 views
3

我想創建我的應用程序目錄來保存我的配置文件。但黑莓模擬器在創建目錄時會引發異常。我已經嘗試了下面的代碼。在黑莓應用程序的創建目錄中拋出「FileIOException:不是目錄」

try { 
FileConnection myAppDir = (FileConnection) Connector.open("file:///store/home/user/myAppDir", Connector.READ_WRITE); 
    if (!myAppDir.exists()){ 
     myAppDir.mkdir(); // Exception throw here 
    } 
} catch (Exception e) { 
e.printStackTrace(); 
} 

異常拋出

net.rim.device.api.io.file.FileIOException: Not a directory 

回答

5

您是否嘗試過加入正斜到路徑的末尾,以便在連接器知道這是一個目錄?

try { 
FileConnection myAppDir = (FileConnection) Connector.open("file:///store/home/user/myAppDir/", Connector.READ_WRITE); 
    if (!myAppDir.exists()){ 
     myAppDir.mkdir(); // Exception throw here 
    } 
} catch (Exception e) { 
e.printStackTrace(); 
} 
2

您確定您正在測試的設備/模擬器是否具有內部存儲?您應該使用FileSystemRegistry來獲取可用的文件系統根,例如從API文檔:

Enumeration rootEnum = FileSystemRegistry.listRoots(); 
    while (rootEnum.hasMoreElements()) { 
     String root = (String) rootEnum.nextElement(); 
     FileConnection fc = (FileConnection) Connector.open("file:///" + root); 
     System.out.println(fc.availableSize()); 
    } 
相關問題