如何解决从操作系统更改时使用 inputStream 从文件获取空指针异常的问题。 例如
InputStream is = Test.class.getResourceAsStream("/example.txt");
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
reader.readLine();
在 linux 上很好,在 windows 10 上坏了。
最佳答案
因为您在路径中使用 /
。
在 Linux 中,由于路径以 /
开头,因此它被视为绝对路径。但是,在 Windows 中,您通常从 C:/
或您在硬盘驱动器中使用的任何字母开始,该路径不存在。
因此,如果您想在 Linux 和 Windows 之间移植您的应用程序,请不要以 /
开头路径,因为它们被视为绝对路径。请改用应用程序的相对路径。
关于java - 将操作系统从 linux 更改为 windows 时的 InputStream 空指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45098975/