2013-04-09 5 views
0

경량 Java 게임 라이브러리 (lwjgl)로 obj 뷰어를 작성하고 있는데 외부 obj 파일을 읽는 데 문제가 있습니다. 코드를 실행할 때 스택 트레이스에 아무 것도 인쇄하지 않더라도 nextLine은 훨씬 덜 인쇄됩니다. 여기가 코드 블록의 외부 구문에 오류가 있습니다 경우에 내 전체 코드가 (, 또는 내가 잘못된 장소에 넣어. 여기스캐너 문제 Java

import java.io.FileNotFoundException; 
import java.io.FileReader; 
import java.io.IOException; 
import java.util.Scanner; 

import org.lwjgl.LWJGLException; 
import org.lwjgl.opengl.Display; 
import org.lwjgl.opengl.DisplayMode; 
import org.lwjgl.opengl.GL11; 


public class MainDisplay { 

public void start() { 
try { 
    Display.setDisplayMode(new DisplayMode(800,600)); 
    Display.create(); 
} 
catch (LWJGLException e) { 
    e.printStackTrace(); 
    System.exit(0); 
} 

GL11.glMatrixMode(GL11.GL_PROJECTION); 
GL11.glLoadIdentity(); 
GL11.glOrtho(0, 800, 0, 600, 1, -1); 
GL11.glMatrixMode(GL11.GL_MODELVIEW); 

while (!Display.isCloseRequested()) { 
    GL11.glClear(GL11.GL_COLOR_BUFFER_BIT | GL11.GL_DEPTH_BUFFER_BIT); 
    GL11.glColor3f(0.5f, 0.5f, 1.0f); 


} 
} 
/** 
* @param args 
* @throws FileNotFoundException 
*/ 
public static void main(String[] args) throws FileNotFoundException { 
    try { 
     FileReader obj = new FileReader("test.obj"); 
     Scanner scanner = new Scanner(obj); 
     String line = scanner.nextLine(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 


    MainDisplay mainDisplay = new MainDisplay(); 
    mainDisplay.start(); 



} 

} 
+0

실제로이 코드에서 아무 것도 출력하지 않습니다 ... – Sinkingpoint

+0

오 이런 내가 뭔가를 인쇄하더라도 여전히 작동하지 않습니다. –

+0

@hotdogsmustardyeah - 도움이 되었다면 대답을 수락하십시오. –

답변

1

이 시도.

while (scanner.hasNextLine()) { 
      String line = scanner.nextLine(); 
      System.out.println(line); 
     } 
     scanner.close(); 

을 당신이 한 일은 변수의 파일에있는 첫 번째 줄의 값을 저장하는 것입니다. 내가 설정 한 while 루프는 파일의 모든 줄을 읽고, null 또는 EOF에 도달 한 후에 만 ​​중지합니다.

+0

나는 finally 블록에 scanner.close()를 넣겠다. 그렇지 않으면 +1 – Sinkingpoint