Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/334.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中的文件io_Java_File Io - Fatal编程技术网

Java中的文件io

Java中的文件io,java,file-io,Java,File Io,对于以下java程序,我将此作为错误: Exception in thread "main" java.io.FileNotFoundException: rawData.txt (No such file or directory) at java.io.FileInputStream.open(Native Method) at java.io.FileInputStream.<init>(FileInputStream.java:120) at java

对于以下java程序,我将此作为错误:

Exception in thread "main" java.io.FileNotFoundException: rawData.txt (No such file or directory)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(FileInputStream.java:120)
    at java.util.Scanner.<init>(Scanner.java:636)
    at Study_workshop.main(Study_workshop.java:15)

您可以使用Study_workshop.class.getResourcerawData.txt获取该文件

一些做法:

如果可以,请使用绝对路径,如/opt/data/xxx.txt。 使用YourClass.class.getResource获取与YourClass.class相同目录中的文件。 使用YourClass.class.getClassLoader.getResource在类的类路径中获取文件。
使用相对路径不是一种好做法,因为您永远不知道程序将在何处以及如何执行。

您可以使用Study\u workshop.class.getResourcerawData.txt获取该文件

一些做法:

如果可以,请使用绝对路径,如/opt/data/xxx.txt。 使用YourClass.class.getResource获取与YourClass.class相同目录中的文件。 使用YourClass.class.getClassLoader.getResource在类的类路径中获取文件。
使用相对路径不是一种好做法,因为您永远不知道程序将在何处以及如何执行。

要解决此错误,可以将完全限定路径传递给文件构造函数:-

Scanner diskScanner = new Scanner(new File("/home/sre/bin/rawData.txt"));

要解决此错误,可以将完全限定路径传递给文件构造函数:-

Scanner diskScanner = new Scanner(new File("/home/sre/bin/rawData.txt"));

执行程序时,所指向的目录是系统类的user.dir属性给定的目录:

System.getProperty("user.dir")
因此,如果文件不在该目录中,则必须使用绝对路径:

new File("yourPath/rawData.txt")

执行程序时,所指向的目录是系统类的user.dir属性给定的目录:

System.getProperty("user.dir")
因此,如果文件不在该目录中,则必须使用绝对路径:

new File("yourPath/rawData.txt")

将项目文件夹中的文件从bin移动到项目父文件夹。默认文件路径位于project folder中,因为您只指定了文件名。相对路径是根据执行程序的目录解析的,而不是解析为.java或.class文件所在的任何目录。如果您的文件位于/projectFolder/bin/中,则应将此路径指定给file constructor new file/bin/rawData.txt。默认情况下,构造函数正在查看项目的根目录。请将项目文件夹中的文件从bin移动到项目父文件夹。默认文件路径位于project folder中,因为您只指定了文件名。相对路径是根据执行程序的目录解析的,而不是解析为.java或.class文件所在的任何目录。如果您的文件位于/projectFolder/bin/中,则应将此路径指定给file constructor new file/bin/rawData.txt。默认情况下,构造函数在项目的根目录中查找。