#java #newline #invisible #character-arrays
#java #новая строка #невидимый #символьные массивы
Вопрос:
В настоящее время я работаю над кодом для игры на 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 . Заранее большое спасибо!
Ответ №1:
Прочитайте строку как строку, вызовите метод .trim() в строке, а затем используйте .toCharArray(), чтобы разделить его на символы.
Ответ №2:
Если вы работаете в Windows, используйте » r n», чтобы проверить новую строку или извлечь зависящую от платформы строку из системных свойств
String lineSeparator = System.getProperty("line.separator");