我的应用程序中存在SD卡文件损坏问题(无论如何只打开文件进行读取)。它发生在一个特定的情况: - 应用程序一直在运行,并已从文件中加载数据(并再次关闭) - 该应用尚未“强制关闭” - 手机连接到PC,SD卡作为驱动器 - 各种PC电话文件操作已经开始(但这个特定文件没有) - 手机与PC断开连接 - 下次运行应用程序时,文件将被破坏,无法正确加载 - 腐败没有模式 - 随机垃圾 - 但文件长度永远不会改变
读取文件的代码如下,注意 - 简化,各种try / catch /其他测试以检查一路上的问题,并且工作正常,除非上面详细说明。该文件是原始二进制文件,而不是文本。
String fullPath = " ... this will have the path to the file in it ... ";
FileInputStream
fs = new FileInputStream(fullPath);
DataInputStream
ds = new DataInputStream(fs);
Boolean res = loadBEBin(ds); // this reads and loads the file
fs.close();
return res;
感到困惑,感激不尽。
答案 0 :(得分:0)
似乎是我的pone(HTC Desire)的情况,如果它作为磁盘驱动器连接到PC,并且如果Eclipse在该登录会话期间一直在运行,那么一切都会被破坏。没有什么特别与我的应用程序有关。
我认为与加载adb有关。