在Jar外面读写文件

时间:2013-04-19 07:26:55

标签: java io

我正在从我拥有的一堆java文件中创建我的第一个可执行的crossplatform jar文件。问题是,我需要从文件外部的txt文件中读取一些值。这之前运行良好,我将在我的.class文件旁边放下txt并调用

javac myClass this.txt

现在这不起作用,我期望在外面所说的输出也不起作用。

有什么想法吗?谢谢。

2 个答案:

答案 0 :(得分:0)

我发现这是答案:

使用文件阅读器类,而不是使用带有文件ala的扫描程序

Scanner scan= new scanner(new File("foo.txt")); //doesn't work

Scanner scan= new Scanner(new FileReader("foo.txt")); //does;

谢谢。

答案 1 :(得分:0)

我有类似的情况:希望我的*.jar文件访问所述*.jar文件旁边的目录中的文件。请参阅THIS ANSWER

我的文件结构是:

./ - the root of your program
|__ *.jar
|__ dir-next-to-jar/some.txt

我可以使用以下内容将文件(例如some.txt)加载到*.jar文件中的InputStream:

InputStream stream = null;
    try{
        stream = ThisClassName.class.getClass().getResourceAsStream("/dir-next-to-jar/some.txt");
    }
    catch(Exception e) {
        System.out.print("error file to stream: ");
        System.out.println(e.getMessage());
    }

然后使用stream

做任何事情