如何使用我选择的大小的流从Java文件中读取文本?

如何使用我选择的大小的流从Java文件中读取文本?,java,java-io,Java,Java Io,所以我可以用Java读取文本文件,就像这样很好: File file = new File("C:/text.txt"); Scanner scanner = new Scanner(file,"utf-8"); while (scanner.hasNext()) { scanner.nextLine(); // rest of the code... 我不是100%确定,但我相信这会加载整个文件,然后逐行读取文本 假设您有一个非常大的文本文件,其中一行可能太长 我如何从文件中

所以我可以用
Java
读取文本文件,就像这样很好:

File file = new File("C:/text.txt");
Scanner scanner = new Scanner(file,"utf-8");
while (scanner.hasNext()) {
    scanner.nextLine();
    // rest of the code...
我不是100%确定,但我相信这会加载整个文件,然后逐行读取文本

假设您有一个非常大的文本文件,其中一行可能太长

我如何从文件中读取文本,比如说每次50个字符?我想要的是在每次迭代中我应该得到50个字符,而不是更多

一个简单的文本扫描程序,可以解析原语类型和字符串 使用正则表达式

扫描仪使用分隔符模式将其输入拆分为标记, 默认情况下与空白匹配。由此产生的代币可以是 使用不同的next转换为不同类型的值 方法


答案如下:

在这种情况下,您将使用BufferedReader,并指定每次迭代中要读取的字节。@W.K.S这会避免将整个文件加载到内存中吗?请查看这一个。我相信BufferedReader和Scanner都不会将整个文件加载到内存中。您错了。它逐行读取文件,并将每一行都扔掉。它不会将整个文件加载到内存中。