使用Class.getResourceAsStream读取jar内文件不完整的问题分析
环境信息
集成开发环境: IDEA Ultimate 2020.3
JDK: 1.8.0_281 64 bit
问题出现
问题最初是在使用Maven构建JAVA项目时,尝试读取resources中的文本文件内容时遇到的。在IDEA环境中直接编译运行时,读取到的内容完全正常,但当使用Maven package打成jar包以后,读取的到的内容却是不完整,这使我百思不得其解。
读取代码如下:
package org.example;
import java.io.IOException;
import java.io.InputStream;
import java.nio.charset.StandardCharsets;
/**
* This is a Class.getResourceAsStream Test
*/
public class App {
public static void main(String[] args) throws IOException {
InputStream is = App.class.getResourceAsStream("/test.txt");
int available = is.available();
System.out.println("Available:" + available);
byte[] bytes = new byte[available];
int length = is.read(bytes);
System.out.println("Length:" + length);
System.out.