Java作业:编写判断school.txt存在且含指定子串的布尔方法
嘿,第一次在Stack Overflow提问完全不用紧张!我来帮你搞定这个方法的问题~
实现思路
要完成这个q1方法,核心逻辑其实很清晰:
- 尝试读取
school.txt文件,要是文件不存在或者读取出错,直接返回false - 逐行检查文件内容,只要有任意一行包含子字符串
" test "(注意前后的空格哦),就立刻返回true - 要是把所有行都读完了还没找到目标子串,就返回
false
完整代码示例
import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; public class YourClassName { // 这里替换成你的实际类名 public static boolean q1() { String filePath = "school.txt"; try { // 使用try-with-resources自动关闭流,避免资源泄漏 return Files.lines(Paths.get(filePath)) .anyMatch(line -> line.contains(" test ")); } catch (IOException e) { // 文件不存在、读取失败等情况统一返回false return false; } } }
关键点说明
- 资源自动管理:用
try-with-resources包裹Files.lines(),它会自动关闭文件输入流,不用手动写close,既安全又简洁 - 短路检查:
anyMatch()是短路操作——只要找到符合条件的行,就会立刻停止读取后续内容,节省性能 - 异常处理:捕获
IOException,覆盖文件不存在、权限不足等所有读取失败的场景,统一返回false - 子串匹配:严格按照要求检查
" test "(前后带空格),别不小心写成不带空格的"test"哦
如果运行时还有问题,比如文件路径不对(比如school.txt不在项目根目录),可以调整filePath的具体路径~
内容的提问来源于stack exchange,提问作者user9628043
相关产品推荐
相关产品推荐

