作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在实现霍夫曼编码程序。我对整本书进行编码和解码,因此找到新行字符非常重要,不幸的是我忽略了这一点。目前,我使用一种方法将小书读入然后返回的字符串,如下所示:
private String readFile(String filename) {
String curLine;
String toReturn = "";
try {
BufferedReader reader = new BufferedReader(new FileReader(filename));
try {
while ((curLine = reader.readLine()) != null) {
toReturn += curLine;
}
} catch (IOException e) {
System.out.println(e);
}
} catch (FileNotFoundException e) {
System.out.println(e);
}
return toReturn;
}
这适用于常规字符,但不适用于换行之类的东西(我知道有一个词可以描述这些类型的“字符”,但我现在对它一无所知)。无论如何,我的问题是如何更改当前方法以同时拾取换行字符,或者我是否需要做一些完全不同的事情。我怀疑 readLine() 现在不会因为这个对我有任何好处,但我想在这里检查一些输入。
我程序中的其他一切都很好,但没有考虑换行符这一事实弄乱了我的整个霍夫曼树,我相信你明白从那里发生的事情。任何关于我可以做什么来获取换行符的建议都将不胜感激。谢谢!
最佳答案
你可以像这样读取文件中的所有字符。
static String readFile(String filename) throws IOException {
return Files.readString(Path.of(filename));
}
它读取为 UTF-8,但如果需要,您可以使用 readString()
的第二个参数指定编码。
关于java - Java 中有没有办法读取文本文件中的换行符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69655104/
我是一名优秀的程序员,十分优秀!