Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在文件读取器上设置路径目录_Java_File Io - Fatal编程技术网

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

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 如何以同样

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

例如:

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文件,因为它已被操作系统锁定。