이미 버퍼링 된 프로젝트를 실행할 때마다 BufferedReader의 내용을 가져올 때마다 NullPointerException이 발생합니다. IDE (IntelliJ) 내부에서 실행될 때 아무런 문제가 없습니다. 이전의 모든 InputStream을 이미 확인했지만, 괜찮아 보입니다. 어쩌면 좀 나아 졌니? 미리 감사드립니다. BufferedReader의 내용을 읽는 동안 NullPointerException이 발생했습니다.
String pathToFontDir = "/fonts/Open_Sans";
GraphicsEnvironment localGE = GraphicsEnvironment.getLocalGraphicsEnvironment();
final InputStream is = Session.class.getResourceAsStream(pathToFontDir);
if(is != null){
final InputStreamReader isr = new InputStreamReader(is, StandardCharsets.UTF_8);
final BufferedReader br = new BufferedReader(isr);
List fonts = br.lines().collect(Collectors.toList()); //throws NullPointerException
if(fonts.size() > 0){
for(Object font: fonts){
InputStream fis = loader.getResourceAsStream(pathToFontDir + "/" + font);
localGE.registerFont(Font.createFont(Font.TRUETYPE_FONT, fis));
}
} else{
throw new IOException("Der angegebene Ordner enthält keine Schriftdateien!");
}
}
나는 또한 내 BufferedReader로 아무것도 포함 wheather를 확인하려하지만, 어떤 행을 반환하지 않고 다시 예외가 throwed :
String fontName;
while((fontName = br.readLine()) != null) //throws NPE as well
System.out.println(fontName);
스택 추적 :
자바. lang.NullPointerException at java.io.FilterInputStream.read (알 수없는 소스) at sun.nio.cs.StreamDecoder.readBytes (알 수없는 소스) at sun.nio .cs.StreamDecoder.implRead (알 수없는 소스) at sun.nio.cs.StreamDecoder.read (알 수없는 소스) at java.io.InputStreamReader.read (알 수없는 소스) at java.io.BufferedReader.fill (알 수없는 소스)at java.io.BufferedReader.readLine (알 수없는 소스) at java.io.BufferedReader.readLine (알 수없는 소스) at java.io.BufferedReader $ 1.hasNext (알 수없는 소스) at java.util.Iterator.forEachRemaining java.util.stream.AbstractPipeline.wrapAndCopyInto (알 수없는 소스)에서 java.util.stream.AbstractPipeline.copyInto (알 수없는 소스) 에서 java.util.Spliterators $ IteratorSpliterator.forEachRemaining (알 수없는 소스) 에서 (알 수없는 소스) java.util.stream.ReduceOps의 메소드 main.java.backend.Session.importFontResource에서 java.util.stream.ReferencePipeline.collect (알 수없는 소스) 에서 java.util.stream.AbstractPipeline.evaluate (알 수없는 소스) 에서 $ ReduceOp.evaluateSequential (알 수없는 소스) (main.java.backend.Session.main에서 Session.java:137) (Session.java:180는)
필요한 파일을 JAR 파일에 복사 했습니까? –
예, 실제로 다시 한 번 확인했습니다. –
기본적으로 당신은'Open_Sans' ** 파일 **을 읽으려고합니다, 맞습니까? 그리고 이것이 실패한 것입니까? –