如何处理Java中不可见的新行字符?

时间:2014-06-21 11:00:12

标签: java newline invisible character-arrays

我目前正在研究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。非常感谢提前!

2 个答案:

答案 0 :(得分:0)

以字符串形式读取该行,在该行上调用.trim()方法,然后使用.toCharArray()将其拆分为字符。

答案 1 :(得分:0)

如果您在Windows上运行,请使用“\ r \ n”检查新行或从系统属性中获取特定于平台的行

String lineSeparator = System.getProperty("line.separator");