【问题标题】:How can I handle invisible new line characters in Java?如何在 Java 中处理不可见的换行符?
【发布时间】:2014-06-21 11:00:11
【问题描述】:

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

【问题讨论】:

    标签: java newline invisible character-arrays


    【解决方案1】:

    将该行读取为String,对该行调用.trim()方法,然后使用.toCharArray()将其拆分为chars。

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-06-15
        • 1970-01-01
        • 2023-02-11
        相关资源
        最近更新 更多