0

私は現在、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にあります。よろしくお願いします!

4

2 に答える 2

0

Windows で実行している場合は、「\r\n」を使用して新しい行を確認するか、システム プロパティからプラットフォーム固有の行を取得します。

String lineSeparator = System.getProperty("line.separator");
于 2014-06-21T11:40:37.350 に答える
0

行を文字列として読み取り、行で.trim()メソッドを呼び出してから、.toCharArray() を使用して文字に分割します。

于 2014-06-21T11:02:59.000 に答える