2010-02-07 30 views
0

在我的JNLP程序,我需要知道,如果一个用户属性文件是否存在,如果是的话,加载它,我的代码看起来是这样的:如何在不打开文件对话框的情况下检测jnlp文件是否存在?

File_Contents=File_Open_Service.openFileDialog(".",new String[]{".txt"}); 
String Text=readFromFile(File_Contents); 

InputStreamReader in=new InputStreamReader(File_Contents.getInputStream()); 
Application_Props.load(in); 

用户不知道属性文件的名称,所以即使我打开一个对话框,他们也不会知道选择哪个文件,所以我的问题是:在jnlp中,我可以执行如下操作:if(new File(“abc.txt”)。)Load_Property()?如果它不存在,继续而不弹出一个对话框,如果它存在,不需要打开一个对话框,只要将它读入,如有必要,询问用户是否可以读取文件命名为“abc.txt”作为属性文件。如何在jnlp中实现这一点?任何示例代码?

PS:我没有在“所有权限”模式下运行它,因为这需要第三方证书。这有点花费。

+0

为什么不只是像你说的那样去做呢?通过新的文件(“abc.txt”)。exists()?你不需要询问用户 - 底层安全系统会管理你想要的东西,我猜想(如果你不以'全权限'模式运行你的应用程序) – Karussell

+1

它不是以'全权限'模式运行,所以如果我使用新的文件(“abc.txt”)exists(),我会得到java.security.AccessControlException:访问被拒绝 然后,应用程序将无法加载属性文件。 – Frank

回答

0

好的,我已经想出了如何实现这一点:使用PersistenceService。 在JNLP的PersistenceService的帮助下,我可以将用户设置保存为html中的cookie,并在下次加载时无需每次打开对话框。

我可以很容易地检测到它是否存在或没有询问用户。

相关问题