0

我正在使用轻量级 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();



}

}
4

1 回答 1

1

来,试试这个。

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

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

于 2013-04-09T02:14:24.607 回答