Java:如何导出使用.txt文件的程序?

时间:2015-10-01 20:24:49

标签: java file

我创建了一个使用.txt文件的程序,并且不知道在导出程序时如何使用.txt文件。

只需忽略代码中的注释

即可
Scanner cl;

// Creating a JFrame for the change-log
JFrame changelogFrame;

JTextArea changelogText;
JScrollPane scroll;


// Open the change-log file & setup changelogFrame, changelogText and scroll
public void openChangelog() {

    // Setting up the changelogFrame
    changelogFrame = new JFrame();
    changelogFrame.setVisible(false);
    changelogFrame.setDefaultCloseOperation(HIDE_ON_CLOSE);
    changelogFrame.setSize(500, 500);
    changelogFrame.setLocationRelativeTo(null);
    changelogFrame.setTitle("Change-log");

    // Setting up the changelogText
    changelogText = new JTextArea();
    changelogText.setEditable(false);
    changelogText.setMargin(new Insets(5, 5, 5, 5));
    // Setting up the scroll (Scroll-pane for changelogText)
    scroll = new JScrollPane(changelogText, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
    changelogFrame.add(scroll);

    try{
        cl = new Scanner(new File("Change-log.txt"));
    }
    catch(Exception e) {
        JOptionPane.showMessageDialog(null, "An error occurred while loading the changelog...", "Error loading changelog", JOptionPane.ERROR_MESSAGE);
    }
}

// Read the change-log file
public void readChangelog() {
    cl.useDelimiter("\\Z");
    String loadChangelog = cl.next();

    changelogText.setText(loadChangelog);
    changelogFrame.setVisible(true);


}

// Close the change-log file
public void closeChangelog() {
    cl.close();
}

当我将程序导出到Runnable JAR file并尝试加载Change-log.txt时,它不会加载。我收到错误消息 如何导出我的程序并使用Change-log.txt而没有任何错误? Change-log.txt是否未与源代码一起导出?

2 个答案:

答案 0 :(得分:1)

您应该在错误消息中包含例外消息。这样,您就可以获得有关出错的更多信息,并可以自行调试。

我认为你想要读出的文件不存在于执行导出程序的文件夹中。在这种情况下,你需要处理这种情况,或者创建它,这取决于你的最终目标

答案 1 :(得分:0)

使用部分代码执行此操作(在切割某些角落时)的简单方法是:

String path = System.getProperty("user.home");
path = (path+"\\Change-log.txt")

cl = new Scanner(new File(path));`

这样你总是把文件放到用户主目录中,在那里通常给出读/写权限,你也可以用其他方法写那个文件,遵循我给你的相同结构

您可能还需要编写一段代码,为用户生成更改日志,如果它不在主目录中。