我目前正在研究Java游戏的代码。我应该使用.txt文件中的字符填充数组。问题是我的程序还存储了文件中不可见的新行字符,因此数组未正确填充。我已经尝试替换不可见的字符,但结果是灾难性的(我的数组只会填充第一行,其余的将保持为空)这里是我用于数组的代码块:
import java.util.*;
import java.io.*;
public class Test {
public static void main(String[] args) throws IOException{
char background[][] = new char [14][20];
try {
FileInputStream fileinput = new FileInputStream("background.txt");
int r;
for(int i=0;i<14;i++){
for(int j=0;j<20;j++){//<<THIS LINE WAS CHANGED
while((r = fileinput.read()) != -1){
char c = (char) r;
background[i][j] = c;
break;
}
}
}
fileinput.close();
}
catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
for (int i=0;i<14;i++){
for(int j=0;j<20;j++){
System.out.print(background[i][j]);
}
}
}
}
此处可以找到.txt文件的格式:http://pastebin.com/NynJGkFk。非常感谢提前!
答案 0 :(得分:0)
以字符串形式读取该行,在该行上调用.trim()方法,然后使用.toCharArray()将其拆分为字符。
答案 1 :(得分:0)
如果您在Windows上运行,请使用“\ r \ n”检查新行或从系统属性中获取特定于平台的行
String lineSeparator = System.getProperty("line.separator");