Я использую VB.NET для создания данных для моей игры (для Android, код Java), вот как это выглядит:
5;0000000100011100010000000;2;2
5;1000001100010000000000000;0,1;0,1
, где каждая строка - уровень.В VB.NET я создаю новую строку с помощью константы vbNewLine (я думаю, что ее код ASCII равен 13), а затем использую IO.File.WriteAllText
, чтобы записать ее в файл.
В моей игре на Java я использую \n
для разделения уровней:
String[] levelData = rawData.split("\n");
Однако при обработке данных у levelData всегда есть «новая строка» послеконец.Например, levelData [0] имеет значение 5;00...2;2<new line>
, что вызывает исключение Integer.parseInt
.Затем я отладил и обнаружил следующее:
rawData.charAt(31) //It's a \r, not \n
Итак, я изменил разделенную линию:
String[] levelData = rawData.split("\r");
Но теперь levelData [1] будет <newline>5...
.
Что именно я должен сделать, чтобы решить эту проблему? И, пожалуйста, объясните, как "новая строка" работает в Java String.