所以在我制作的这个应用程序中,用户创建了一个项目,当他们保存时,帧数会保存到 SD 卡上的 numberFrames.txt 中。然后我在另一个类中检索文件。唯一的问题是,当我在运行此代码后向屏幕显示 nFrames 时,nFrames = 50。我对 nFrames 所做的唯一初始化是在位于 onCreate() 中的代码正上方归零。
File sdcardLocal = Environment.getExternalStorageDirectory();
File dir = new File (sdcardLocal.getAbsolutePath() + "/Flipbook/"+customizeDialog.getTitle()+"/");
dir.mkdirs();
File fileNum = new File(dir, "numberFrames.txt");
FileWriter myFileWriter = null;
try {
myFileWriter = new FileWriter(fileNum);
} catch (IOException e) {
e.printStackTrace();
}
BufferedWriter out = new BufferedWriter(myFileWriter);
try {
String text = bitmaps.size()+"";
out.write(text);
out.close();
} catch (IOException e) {
e.printStackTrace();
}
我像这样检索文件。我不知道 nFrames 的这个“50”值是从哪里来的,因为周围没有循环,而且我确信保存的特定项目只有 3 帧。为什么是这样?
FileInputStream is = null;
BufferedInputStream bis = null;
try {
is = new FileInputStream(new File(mFolderDialog.getPath()+"/numberFrames.txt"));
bis = new BufferedInputStream(is);
nFrames = bis.read();
}catch (IOException e) {
e.printStackTrace();
}