Чтение файла символ за символом в LibGDX (затмение)? - PullRequest
0 голосов
/ 26 января 2020

У меня есть файл .txt, который содержит следующий текст:

111000111001
x00000010001
111110000001

Я хочу поместить это содержимое в строку, поэтому я использую этот метод.

public void read() {
        FileHandle file = Gdx.files.internal("map.txt");
        String text = file.readString();

        System.out.println(text.charAt(12));//Here is the problem,it's showing  empty character instead of x


    }

Когда я хочу получить 12-й элемент (х на 2-й строке), это невозможно (я думаю, что есть проблема перехода на новую строку, но я не знаю, как ее решить). Можете ли вы помочь мне, пожалуйста?

1 Ответ

1 голос
/ 28 января 2020

Есть нечто, называемое Возврат каретки , которое заставляет дополнительные символы появляться в конце каждой строки (3 дополнительных символа, если быть точным) при чтении из текстового файла, чтобы избежать их использования, вы можете использовать :

text = text.replaceAll("(?:\\n|\\r)", "");

А теперь, когда вы пытаетесь напечатать 12-й элемент, вы получите желаемую "x"

System.out.println(text.charAt(12)); // Prints x

Вот дополнительная информация о методе replaceAll(): Java Api: String.replaceAll ()

...