java - 将操作系统从 linux 更改为 windows 时的 InputStream 空指针

标签 java linux windows null inputstream

如何解决从操作系统更改时使用 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/

相关文章:

c++ - 如何使用 C++ Win32 API 计算两个日期之间的天数?

java - org.eclipse.swt.widgets.Text 字符限制

java - 类型 x 的表达式被装箱到 X?

javax.sound.sampled.LineUnavailableException

java - eclipse中点击按钮后如何显示项目?

linux - 我的 '[]' 在哪里?,bash 程序

MySql网络问题

linux - 执行远程命令时SSH错误 : "stdin: is not a tty"

windows - 您可以将游戏反编译为原始源代码吗?

c++ - 在 CreateWindow 上设置 HWND 似乎失败