0

我是红宝石的新手......鞋子......和编程,但这是我的问题:

我制作了一个计时器,它将定时数量作为日志放入 txt 文件中。它还在一个单独的 txt 文件中保存了所有时间的运行总计。它可以按我的意愿工作...

我尝试打包它:如果我打包 rb 文件它不起作用,只有当我打包包括 txt 文件在内的整个文件夹时它才会起作用。

这个工作副本似乎在没有 txt 文件的情况下运行(它们以某种方式内置。有没有办法打包它,所以我仍然可以访问相关的 txt 文件。(可能与路径有关......)

谢谢。

4

1 回答 1

0

鞋包装商的行为有时是丑陋的。我认为您正在使用 Windows,所以我将尝试解释似乎发生了什么:

您有一个捆绑的 Shoes-App(一个独立的 .exe 文件)。每次双击启动它时,它都会将自身解压缩到一个新的临时目录(位于 c:\tmp\tempFileDirectory 下)。所以,每次都是一个新的临时目录!

当前路径也设置为此 tmp 目录,其中还包括您捆绑到应用程序中的原始状态的 txt 文件。如果您在应用程序执行期间更改文件的内容,然后重新启动应用程序,您的更改将消失,因为在新创建的 tmp 目录中,有原始 txt 文件的新副本。到目前为止,将您的数据文件(在您的情况下为 txt,或 SQLITE-database-files,或配置文件,...)放入捆绑应用程序是一个坏主意。

更好的方法:在用户的主文件夹中创建一个“隐藏”文件夹(文件夹名称应以“.”开头)。在 Windows 上,它应该类似于“c:\Users\YourName”。在那里创建你需要的一切,这个目录不会是临时的,所以你每次都可以毫无问题地访问它。这应该是一个更好的解决方案,在编程桌面时,不仅仅是在使用鞋子时。

于 2012-04-27T11:36:59.553 回答