将文件保存到BlackBerry文件系统时避免碎片。最佳实践?

时间:2011-05-20 16:17:47

标签: java blackberry java-me filesystems directory

在我的应用程序中,我需要将一些文件(pdf)保存到文件系统中。我当前的方法涉及创建一个用于存储文件的目录:

FileConnection fc = (FileConnection)Connector.open("file:///SDCard/BlackBerry/pdfs/");
    if (!fc.exists())
        fc.mkdir();
    fc.close();

然后我用我的文件写到目录:

 fc = (FileConnection)Connector.open("file:///SDCard/BlackBerry/pdfs/" + filename, Connector.READ_WRITE);
    if (!fc.exists())
        fc.create();
    OutputStream outStream = fc.openOutputStream();
    outStream.write(pdf);
    outStream.close();
    fc.close();

一切正常,我的pdf到达我创建的目录。 我的问题是:我是否会因为我将文件路径硬编码为我的保存目标而遇到麻烦。使用BlackBerry API可以检索所有型号上存在的可写文件夹/配置?

1 个答案:

答案 0 :(得分:2)

您可以使用FileSystemRegistry.listRoots()在系统中查询可用的根。请注意,不能保证会有SD卡,或者即使存在SD卡也是可见的(例如,在大容量存储模式下)。我认为保证在所有设备上唯一的根是内部存储("file:///Store")。

还有(一点点)更多信息here