По сути, я пытаюсь использовать PrintStream для записи одной строки в файл, содержащий разрывы строк, в этом случае я думаю, что это будет возврат каретки (CR) '\ u000D'. Что касается того, где будут происходить эти разрывы строк, неизвестно, поэтому мне нужно отформатировать саму String, чтобы делать разрывы строк, вместо того, чтобы это делал PrintStream.
Вот где я добавляю возврат каретки в строку (которая является строкой):
if(useNLTranslator && !isNumber(section))
line = nlt.translate(line) + System.getProperty("line.separator");
Вот где я печатаю строку в текстовый файл с помощью PrintStream:
try
{
File file = new File(answer);
PrintStream print = new PrintStream(file);
print.println(result);
}
//result is the same as the line string above once its all put together
Я также проверяю String, чтобы найти, где есть символ возврата каретки, и заменяю его чем-то другим, причину этого я не буду вдаваться в подробности, так как это будет очень длинное объяснение. Я использую следующее, чтобы найти возврат каретки в String:
String cr = System.getProperty("line.separator");
Проблема, с которой я столкнулся, заключается в том, что он не распознает возврат каретки при поиске по тексту. Этот текст взят непосредственно из документа Microsoft Word, что может быть частью проблемы. Вот что у меня ловит, когда он не распознает возврат каретки:
//@@DEBUG -- KEEP THIS
String charValue = Character.toString(text.charAt(index));
try{
current[i] = alphaBits[Character.getNumericValue(text.charAt(index)) - 10][i];
}catch(ArrayIndexOutOfBoundsException e){
//@@DEBUG -- KEEP THIS
System.out.println("Unrecognized character: " + charValue);
Character whatIsThis = charValue.charAt(0);
String name = Character.getName(whatIsThis.charValue());
System.out.println("Unrecognized character name: " + name);
System.out.print("You may want to consider adding this character");
System.out.println(" to the list of recognized characters");
return "Unrecognized character found.";
}