我正在使用轻量级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();
}
}
答案 0 :(得分:1)
在这里,试试这个。
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
System.out.println(line);
}
scanner.close();
您所做的只是在变量中存储文件中第一行的值。我设置的while
循环会读取文件中的所有行,只有在达到null
或EOF后才会停止。