亚马逊服务器永久免费,高级seo,新手如何做网站运营,网站seo搜索引擎优化怎么做注意两点#xff1a;1. 将资源目录添加到 build path#xff0c;确保该目录下的文件被拷贝到 jar 文件中。2. jar 内部的东西#xff0c;可以当作 stream 来读取#xff0c;但不应该当作 file 来读取。例子新建一个 maven 目录App.java 用于读取 resources 中的 a.txt 内容…注意两点1. 将资源目录添加到 build path确保该目录下的文件被拷贝到 jar 文件中。2. jar 内部的东西可以当作 stream 来读取但不应该当作 file 来读取。例子新建一个 maven 目录App.java 用于读取 resources 中的 a.txt 内容。a.txt 是被读取的资源文件。grsgrs App $ tree.├── pom.xml├── src│ ├── main│ │ ├── java│ │ │ └── tony│ │ │ └── App│ │ │ └── App.java│ │ └── resources│ │ └── a.txt把资源目录添加到 build path 中项目右击 - properties - Java Build Path - Source - 把 resources 目录添加到 build path 中。如果没有添加到 build path 中导出为一个 Runnable JAR 文件后运行会报错 Exception in thread main java.lang.NullPointerException解压 jar 后会发现a.txt 文件没有存在于 jar 文件中。把 resources 加入到 build path 使得 resources 目录的文件被包含在 jar 的内部首层路径中。解压 jar 目录结构如下grsgrs app.jar $ tree.├── META-INF│ └── MANIFEST.MF├── a.txt└── tony└── App└── App.class代码实现将 resources 目录设置为 build path 后 a.txt 文件被拷贝到 jar 的首层所以采用 /a.txt 路径读取。采用 stream 方式读取确保能读到打包成 jar 内部资源的文件。packagetony.App;importjava.io.IOException;importjava.io.InputStream;public classApp{public static void main( String[] args ) throwsException{System.out.println(Hello World! --- );App app newApp();app.readResources();}public void readResources() throwsIOException{InputStream is this.getClass().getResourceAsStream(/a.txt);System.out.println((char)is.read());is.close();}}