gpt4 book ai didi

java - 为什么这是 SQL 文件或流的分隔符?

转载 作者:行者123 更新时间:2023-11-30 06:48:26 26 4
gpt4 key购买 nike

我正在阅读一段代码如下:

private String loadAsString(final String path) {
try (InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream(path);
Scanner scanner = new Scanner(inputStream)) {
// '\\A' is the delimiter of .sql file?
return scanner.useDelimiter("\\A").next();
} catch (IOException e) {
throw new RuntimeException("Unable to close input stream.", e);
}
}

where path = "***.sql",意思是我电脑上的一个SQL文件。

我的问题是,为什么使用模式“\A”作为结束SQL文件读取的分隔符?据我所知,“\A”是 Java 的正则表达式,用于输入的开头而不是结尾。感谢您的帮助。

最佳答案

next() 将 (a) 跳过定界符,然后 (b) 读取字符直到下一个定界符或 EOF,以先到者为准。

如果分隔符是\A,输入的开始,那么上面的(a)将“跳过”0长度的输入开始点,然后(b)读取字符直到下一次输入开始,或 EOF。由于没有任何下一个输入开始,(b) 变为“读取字符直到 EOF”。

扫描仪的标记化本质上提供了国王在爱丽丝梦游仙境中所做的相同指示:“从头开始,一直持续到结束:然后停止。”

关于java - 为什么这是 SQL 文件或流的分隔符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44287214/

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