Java 作为InputStream输入的相对路径

Java 作为InputStream输入的相对路径,java,file,file-io,Java,File,File Io,如何从相对路径读取文件 我尝试过这个,但没有成功: package es; import java.io.File; import java.io.FileInputStream; public class Principal { /** * @param args */ public static void main(String[] args) throws Exception { File file = new File("/pru

如何从相对路径读取文件

我尝试过这个,但没有成功:

package es;

import java.io.File;
import java.io.FileInputStream;

public class Principal {

    /**
     * @param args
     */
    public static void main(String[] args) throws Exception {
        File file = new File("/prueba/src/es/myFile.txt");
        FileInputStream fis = new FileInputStream(file);
    }

}
我的项目非常简单:

我得到的错误是:

Exception in thread "main" java.io.FileNotFoundException: \prueba\src\es\myFile.txt (El sistema no puede encontrar la ruta especificada)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(Unknown Source)
    at es.Principal.main(Principal.java:13)
线程“main”java.io.FileNotFoundException:\prueba\src\es\myFile.txt中的异常(系统不允许特殊情况)
在java.io.FileInputStream.open(本机方法)
位于java.io.FileInputStream。(未知源)
在es.Principal.main(Principal.java:13)
谢谢。

我发现了问题:

相对路径应为:

File file = new File("src/es/myFile.txt");

“/prueba/src/es/myFile.txt”
是绝对路径,而不是相对路径。删除初始
'/'
以获取相对路径

不使用分隔符,而是显式使用文件class.File.separator中的分隔符常量。比这更好。尽管如此,JVM将独立于所使用的操作系统重新解释它。