我有一个Linux应用程序,目前可以在NetBeans上运行,我正在尝试让它与Linux兼容。应用程序可以创建文件夹和文件,也可以修改文件。
它在Windows上运行良好,无需任何修改,但在Ubuntu上,它无法在启动时创建文件夹。我知道这是个许可问题。
我有什么选择?
应用程序本身是否可以像使用ProcessBuilder运行脚本一样分配所需的权限?
提前感谢!
发布于 2011-04-08 04:01:35
您需要在设置过程中创建所需的文件夹,或者将IO限制为您有权访问的文件夹(用户主目录和临时文件夹)。请注意,在Linux上,有一些标准位置应该放置许多文件夹,并且管理员会对不符合这些标准的应用程序皱眉。
您能说出您需要哪些文件/文件夹用于什么目的吗?
看起来问题的原因是Windows和Linux之间的路径分隔符不同。在linux上,您应该使用正常的斜杠。该错误提到以下路径:
/home/javier\marauroa.trace.db由于\不是路径分隔符,而是转义字符,因此它试图在它没有权限的文件夹/home中创建文件。
路径应为:
/home/javier/marauroa.trace.db您可能需要考虑将应用程序文件放在名为.yourappname的子文件夹中,这样它就会变成
/home/javier/.yourappname/marauroa.trace.db这是许多unix应用程序所做的,并将其隐藏在常规文件列表中。要获取运行应用程序的系统的路径分隔符,可以使用以下静态字段:
java.io.File.seperatorhttps://stackoverflow.com/questions/5586749
复制相似问题