在Java中读取文件或输入流内容最简洁的方法是什么?我是否总是要创建缓冲区,逐行读取(最多)等等,还是有更简洁的方法?我希望我能做到
String content = new File("test.txt").readFully();
Run Code Online (Sandbox Code Playgroud)
使用Apache Commons IOUtils包.特别是IOUtils该类提供了一组方法来从流,读者等中读取并处理所有异常等.
例如
InputStream is = ...
String contents = IOUtils.toString(is);
// or
List lines = IOUtils.readLines(is)
Run Code Online (Sandbox Code Playgroud)
我认为使用扫描仪在Java板载工具的简洁性方面是相当不错的:
Scanner s = new Scanner(new File("file"));
StringBuilder builder = new StringBuilder();
while(s.hasNextLine()) builder.append(s.nextLine());
Run Code Online (Sandbox Code Playgroud)
此外,它也非常灵活(例如正则表达式支持,数字解析).