我有一个应用程序,可以保存一些文件。当用户关闭应用程序时,如果用户还没有保存当前的文件,我想请求保存。
如果我不够清楚,我想要检查文件是否从上次保存中修改过。
我已经考虑过创建一个Boolean
变量,如果保存了该文件,该变量将转到true
,然后每次以任何方式修改该文件时(写入或删除文件中的元素)都会返回到false
。
我的问题是,是否有更容易的解决办法来做到这一点。在我看来,每次文件更改时都要将变量设置为true
(对我和机器都适用),而且我不想这样做,因为我有一个非常广泛而复杂的应用程序,而且文件中的更改很可能经常发生。
编辑后的答案:谢谢大家,这真的很有帮助。最后,我意识到我需要一个在我对文件所做的大部分修改中都需要的函数,所以我不需要那么多工作。其他的改动并不多,所以我只是对Boolean
做了一些修改。
再次感谢
发布于 2012-11-30 14:03:15
如果不可能经常发生更改,那么设置布尔变量的每次更改开销也是可以忽略不计的。
理想情况下,您的代码中有一个点,即所有更改都必须通过(例如,处理撤销/重做的地方),并且可以将布尔变量更新代码放在那里。
发布于 2012-11-30 14:06:13
另一种方法是读取文件并对照程序的内容检查它的内容,这似乎会产生不必要的开销。或者节省保存某些内容的时间,并检查自那以后是否进行了更改。
考虑到我认为你的布尔解是目前为止最有效的。
发布于 2012-11-30 14:06:00
我的建议是使FileWriter类记住文件的状态(保存/更改),因此您只需要使用这个编写器,并且不需要每次写入文件时都处理布尔操作。
https://stackoverflow.com/questions/13646741
复制相似问题