在文件阅读器上设置路径目录

时间:2010-10-12 16:12:19

标签: java file-io

我正在使用Java上的文本文件。在Ubuntu 10上 但是,我遇到路径目录的问题。

示例:

saveFile("textFile.txt","abc");

这个抽象函数基本上将“abc”放在“textFile.txt”上。

我编译此文件,并创建一个jar文件(使用NetBeans) 当我运行应用程序并致电saveFile("textFile.txt","abc")时,textFile.txt会保存在\ home上。我不想要这个。我希望textFile.txt转到jar文件中的pathDir

如何以同样的方式写入此文件?

2 个答案:

答案 0 :(得分:1)

从JAR文件中读取资源时,您无法使用File API。相反,您使用Class.getResourceAsStream(),如下所示:

reader = new InputStreamReader(MyClass.class.getResourceAsStream(
    "/apathdir/textFile.txt"), "UTF-8");

还要注意如何指定编码。 FileReader不允许这样做,这就是为什么通常应该避免的原因。

答案 1 :(得分:0)

  

我想知道,如果fileName =   “textFile.txt”,路径是什么dir   这个档案?

如果您只使用裸文件名(不提供目录),JVM将在JVM进程的当前目录中查找该文件;这通常是您运行JVM(java可执行文件)的目录。

  

我该如何设置   /apathdir/textFile.txt? apathdir是一个   jar文件中的目录。   我试过:fileName =“/ apathdir / textFile.txt”,但不起作用。

如果要从JAR文件中加载文件,则无法使用FileReader加载它。您需要使用ClassLoader.getSystemResourceAsStream()(或Class.getResourceAsStream)。参见例如这篇文章的解释是:

http://www.devx.com/tips/Tip/5697