如何从文本文件中读取所有字符到字符串(使用扫描仪)

时间:2014-11-15 17:24:41

标签: java string java.util.scanner filereader

我试过了:

String input = "";
FileReader reader = new FileReader(inputFileName);
Scanner in= new Scanner(reader);
input = in.nextLine();

这不起作用,因为它只读取第一行,所以我改为:

String input = "";
FileReader reader = new FileReader(inputFileName);
Scanner in= new Scanner(reader);
while(in.hasNextLine()){
input = input + in.nextLine();
}

它也不起作用。因为我的文件就像一个带有几个返回行的手册,它看起来像这样:

Hello world,

你应该编码

经常java 那就是它!

此致      未知?

注意:我想停止包括空格和返回提要在内的所有字符,并将所有字符转换为字符串,这可能吗?感谢您提供的所有指导

2 个答案:

答案 0 :(得分:2)

您可以使用正则表达式使用Scanner#useDelimiter方法无循环将整个文件读入字符串:

String fileData = new Scanner(new File(inputFileName)).useDelimiter("\\Z").next();

答案 1 :(得分:1)

使用StringBuffer sbf = new StringBuffer(); // java.lang.StringBuffer for this

while(in.hasNextLine())循环内:

sbf.append(in.nextLine());   

完成后,使用sbf.toString()获取所需的字符串。