java - 尝试加载独立于平台的文件

标签 java fileinputstream

我试图以这种方式打开一个独立于平台的文件:

FileInputStream file = new FileInputStream("/opt/sampleFile.jasper");

在 Linux 中一切正常,但在 Windows 中我遇到以下异常:

java.io.FileNotFoundException: \opt\sampleFile.jasper

在 Windows 中,我在 c:\opt\中找到此文件

出了什么问题?

最佳答案

您的应用程序的默认驱动器是什么?如果这是当前工作目录的驱动器,则 /opt/ 在 Windows 上将为 C:/opt/

我不会将数据存储在像 /opt 这样的系统目录中,而是使用相对于用户主目录的目录,即 System.getProperty("user.home")

关于java - 尝试加载独立于平台的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19735528/

相关文章:

java - 单向链表中的分区

java - 在 Grails 中保存大量数据时如何强制刷新数据库?

JAVA:文件输入流和文件输出流

java - 为什么我们在下面的代码中使用 -1?

java - Spring Batch 从监听器类调用 DAO 类

java - 如何在 Recyclerview/Layoutmanager 中获取 Scrollposition?

java - 在 Java 中查找 OSX 上的应用程序支持目录

java - 在循环中同时打印两个字符串,但分别打印 "paragraphs"

amazon-s3 - 如何将 FileInputStream 转换为 S3ObjectInputStream

java - 如何删除在java中读取的文件末尾的 '?'符号