我是新手…和鞋子……和编程,但这是我的问题:
我做了一个计时器,它把计时的数量作为日志记录在一个txt文件中。它还在一个单独的txt文件中保存所有时间运行总数。
我试着包装它:如果我打包了rb文件,它不起作用,只有当我打包了包括txt文件在内的整个文件夹时,它才会起作用。
这个工作副本似乎没有txt文件(它们是内置的)。是否有一种方法来包装这个,所以我仍然可以访问相关的txt文件。(可能与路径有关…)
谢谢。
鞋子包装程序的行为有时是丑陋的。我想你用的是windows,所以我会试着解释一下发生了什么:
你有一个捆绑的Shoes-App(一个独立的。exe文件)。每次双击启动它时,它将在新的临时目录(位于c:tmptempFileDirectory下)中提取自己。所以,它是一个新的临时目录,每次!
当前路径也被设置为这个tmp目录,其中还包括你捆绑到应用程序中的txt文件,在它的原始状态。如果您在应用程序执行期间更改了文件的内容,并重新启动应用程序,您的更改就会消失,因为在新创建的tmp目录中,有原始txt文件的新副本。到目前为止,把你的数据文件(在你的情况下是txt,或SQLITE-database-files,或配置文件,…)放到bundle应用程序中是一个坏主意。
更好的办法:在用户的主文件夹中创建一个"隐藏"文件夹(文件夹的名称应该以"。"开头)。在windows上应该是"c:UsersYourName"。在那里创建你需要的一切,这个目录不会是临时的,所以你可以每次都访问它没有问题。在编程桌面程序时,这应该是一个更好的解决方案,而不仅仅是在使用鞋子时。