【发布时间】:2013-02-04 09:03:08
【问题描述】:
我正在寻找一种方法来获取 IFile 对象的行分隔符。 我当前的实现弄乱了在其他系统上编写的文件的换行符,但我严重依赖正确的偏移量和行号。
Scanner scanner = new Scanner(file.getContents());
StringBuilder stringBuilder = new StringBuilder();
while (scanner.hasNextLine()) {
final String nextLine = scanner.nextLine();
stringBuilder.append(nextLine + System.lineSeparator());
}
scanner.close();
Document document = new Document();
document.set(stringBuilder.toString(), document.getModificationStamp());
非常欢迎任何建议。
【问题讨论】:
-
假设您的编程语言是 Java,对吗?不必在循环内声明您的 String final。此外,您不应使用连接运算符在 stringBuilder.append() 方法内连接字符串,这违背了该方法的目的。使用
stringBuilder.append(nextLine),然后使用stringBuilder.append(System.lineSeparator())。