Java 在文件读取器上设置路径目录
我正在使用Java上的文本文件。在Ubuntu 10上。Java 在文件读取器上设置路径目录,java,file-io,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 如何以同样
但是,我的路径目录有问题 例如:
saveFile(“textFile.txt”、“abc”)代码>
这个抽象函数基本上将“abc”放在“textFile.txt”上
我编译这个文件,并创建一个jar文件(使用NetBeans)。
当我运行应用程序并调用saveFile(“textFile.txt”,“abc”)
时,textFile.txt
保存在\home上。我不要这个。我想要textFile.txt
转到jar文件中的pathDir
如何以同样的方式写入该文件?从JAR文件读取资源时,不能使用文件API。而是使用Class.getResourceAsStream()
,如下所示:
reader = new InputStreamReader(MyClass.class.getResourceAsStream(
"/apathdir/textFile.txt"), "UTF-8");
还要注意如何指定编码FileReader
不允许这样做,这就是为什么通常应该避免这样做
我想知道,如果=
“textFile.txt”,目录的路径是什么
这个文件的名称
如果只使用裸文件名(不提供目录),JVM将在JVM进程的当前目录中查找该文件;这通常是运行JVM(java可执行文件)的目录
我该如何设置
/apathdir/textFile.txt?。apathdir是一个
jar文件中的目录。
我尝试了:fileName=“/apathdir/textFile.txt”,但不起作用
如果要从JAR文件内部加载文件,则不能使用FileReader
加载它。您需要使用ClassLoader.getsystemresourceastream()
(或Class.getresourceastream
)。有关解释,请参见本文:
我想知道如何以同样的方式写入此文件?@Richard:您通常无法写入加载程序的JAR文件,因为它已被操作系统锁定。