java如何将整个输入文件转换为字符串?
在Java中,如何将整个输入文件转换成一个^{
换句话说,如果我有一个输入文件"test.in"
:
c++
java
python
test
然后我想创建一个String
包含"c++javapythontest"
我想到了一些类似于
Scanner input = new Scanner(new File("test.in"));
while(input.hasNext()){
String test = test + input.nextLine();
}
但这似乎不起作用
有没有一种有效的方法可以做到这一点
# 1 楼答案
要读取文件内容,请丢弃换行符:
我认为您需要测试
hasNextLine()
,当您连接这样的字符串时,代码的性能会因为创建了太多对象而受到影响。如果您将代码更改为使用StringBuilder
,它将运行得更快# 2 楼答案
这段代码是对原始逻辑的一个小修改
StringBuilder创建一个可变的字符序列,这意味着我们只需将内容附加到StringBuilder对象的值,而不是每次都创建一个新对象。
在代码中
String test = test + input.nextLine();
在while
循环中因此,每次迭代while循环时都会创建新的String test对象,因此不会保存以前的值。