2015-07-01 69 views
1

我的程序有一个名为data的文件夹 - 用于存储文本文件 - 当我单击保存在我的JAR应用程序中时,虽然没有任何反应。我怎样才能让它可以访问和保存新文件?下面是一些代码如何访问JAR文件中的文件夹

public void saveAs() { 
    FileChooser fileChooser = new FileChooser(); 
    fileChooser.setTitle("Save Routine"); fileChooser.setInitialDirectory(new File("data/routines")); 
    fileChooser.getExtensionFilters().add(new FileChooser.ExtensionFilter("txt", "*.txt")); 
    if (fileName != null) { 
     fileChooser.setInitialFileName(fileName); 
    } 
    save(fileChooser.showSaveDialog(stage)); 
} 

我也有绝对路径做到了,没有工作,要么

+1

如果这是你的意思,你不能将文件保存在jar中。那么,一切皆有可能,但是jar中的资源文件基本上是为了阅读,而不是为了写作。 – RealSkeptic

+0

是否有替代罐子?或者有另一种方法可以将它保存在罐子外面吗? – Bruce

+0

它也不会让我读取文件 – Bruce

回答

0

的没有看到您保存(java.io.File的)方法,我不能说。 FileChooser.showSaveDialog只是显示对话框,并告诉你他们选择了什么文件(如果有的话)。然后你必须写它,不管它是JAR还是TXT。

试试这个:

private void save(File where){ 
    if(where==null){ //they canceled. 
    return; 
    } 
    try(OutputStream out = Files.newOutputStream(where.toPath())){ 
    //Write to out. 
    } 
} 

你可以写的东西成JAR文件,全部用纯JarFile constructor,但它看起来像你想的纯文本文件。虽然您可能能够在运行时更新应用程序的JAR文件,但大多数程序不会这样做,因为它很奇怪。

相关问题