gpt4 book ai didi

java - java中的scanner.useDelimiter ("\n\n")

转载 作者:行者123 更新时间:2023-12-01 18:11:18 28 4
gpt4 key购买 nike

我有一个简单的代码可以理解它读取文件(input2.txt)并显示它。

import java.util.*;
import java.io.*;

public class Test {

public static void main(String[] args ) throws Exception {
Scanner scanner = new Scanner(new File(args[0]) );
scanner.useDelimiter("\n\n");
String[] grid = scanner.next().split("\n");
scanner.close();

for(int row = 0; row < grid.length; row++) {
for(int col = 0; col < grid[row].length(); col++) {
System.out.print(grid[row].charAt(col) + " ");
}
System.out.println();
}
}
}
  • input.txt
  • enter image description here

  • java 测试 input.txt
  • enter image description here

    我不明白的是

    scanner.useDelimiter("\n\n");

    为什么它使用两个“\n\n”而不是一个“\n”?仅供引用,如果我使用 scanner.useDelimiter("\n");它不能正常工作。这只是从文件中读取第一行。

    最佳答案

    您的文件包含换行符 (\n),因此将分隔符设置为单个换行符将导致 next() 返回第一行。

    由于您的文件不包含任何空行,即没有双换行符,因此 next() 将返回第一个标记,即整个文件内容。

    至于为什么有人选择\n\n?谁知道呢。

    另请注意,这在 Windows 上不起作用,其中行由 \r\n 分隔。

    关于java - java中的scanner.useDelimiter ("\n\n"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32816367/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com