扫描程序在java中遇到麻烦

时间:2013-04-09 00:10:37

标签: java

我正在使用轻量级Java游戏库(lwjgl)编写一个obj查看器,我在阅读外部obj文件时遇到了一些麻烦。当我运行代码时,它甚至不会向堆栈跟踪打印任何内容,更不用说打印nextLine了。这是我的整个代码(如果它在代码块之外的语法中出错,或者我将它放在错误的位置。

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();



}

}

1 个答案:

答案 0 :(得分:1)

在这里,试试这个。

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

您所做的只是在变量中存储文件中第一行的值。我设置的while循环会读取文件中的所有行,只有在达到null或EOF后才会停止。