我正在尝试使用
Android
jobb tool为我的应用程序创建一个大型OBB文件,但我受到“FAT Full”IOException的困扰:
java.io.IOException: FAT Full (XXXX, YYYY)
at de.waldheinz.fs.fat.Fat.allocNew(Fat.java:298)
at de.waldheinz.fs.fat.Fat.allocAppend(Fat.java:376)
at de.waldheinz.fs.fat.ClusterChain.setChainLength(ClusterChain.java:175)
at de.waldheinz.fs.fat.ClusterChain.setSize(ClusterChain.java:132)
at de.waldheinz.fs.fat.FatFile.setLength(FatFile.java:91)
at de.waldheinz.fs.fat.FatFile.write(FatFile.java:154)
at com.android.jobb.Main$1.processFile(Main.java:495)
at com.android.jobb.Main.processAllFiles(Main.java:604)
at com.android.jobb.Main.processAllFiles(Main.java:600)
at com.android.jobb.Main.main(Main.java:417)
Exception in thread "main" java.lang.RuntimeException: Error getting/writing file with name: LAST_PROCESSED_FILE
at com.android.jobb.Main$1.processFile(Main.java:501)
at com.android.jobb.Main.processAllFiles(Main.java:604)
at com.android.jobb.Main.processAllFiles(Main.java:600)
at com.android.jobb.Main.main(Main.java:417)
在上面的错误消息中,XXXX总是打印为一个低于YYYY的整数值,并且代表可用“簇”的数量(我对存储术语的了解不足以确切知道这意味着什么). YYYY代表最后一个成功分配的集群索引,根据我的经验,它始终与最后一个可用的集群索引相同(数组的大小为XXXX 2,因此与YYYY相同的XXXX 1是最后一个可用的索引).
崩溃似乎出现在总文件大小超过511 MB的位置(实际限制为536,193,820字节,单个字节更多导致溢出!),因此LAST_PROCESSED_FILE相当任意,但它列出了正在处理的文件发生了崩溃.鉴于存储格式是FAT16(据我所知),最大文件大小不应该是2 GB吗?
我已经通过各种来源阅读了空目标或小目录或文件,小文件总量或500 MB以上目录中的单个文件可能导致此崩溃(尽管我无法确定原因).这些原因都不适用于我的情况(这也是基于总文件大小).
我对jobb tool source的评论没有提供任何见解.任何人都可以对这个问题有所了解吗?