2013-04-09 70 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 2013-04-09 00:16:14

+0

哦,哦,哦,它即使我打印出來仍然不起作用(儘管讓我檢查一下)。 – 2013-04-09 00:31:33

+0

@hotdogsmustardyeah - 如果有幫助,請接受答案。 – 2013-04-09 16:37:26

回答

1

這裏,試試這個。

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

你所做的只是將文件中第一行的值存儲在變量中,我設置的while循環讀取了文件中的所有行,它只在到達null或EOF後才停止,

+0

我會把scanner.close()放在finally塊中,否則+1 – Sinkingpoint 2013-04-09 03:19:36