我实际上是在尝试使用 PrintStream 将单个字符串写入包含换行符的文件,在这种情况下,我认为它将是回车符 (CR) '\u000D'。至于这些换行符将发生在哪里是未知的,所以我必须格式化字符串本身来做换行符,而不是让 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 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.";
}