java - 如果文件名已经存在,如何让用户再次输入文本文件名?
问题描述
public static void textFileOpen(String fileName) throws IOException
{
while(true)
{
try
{
FileReader fileReader = new FileReader(fileName);
LineNumberReader lineNumberReader = new LineNumberReader(fileReader);
BufferedReader bufferedReader = new BufferedReader(fileReader);
fileReader.close();
bufferedReader.close();
lineNumberReader.close();
}
catch(Exception ex)
{
System.out.println("File " + fileName + " does not exists! Please try again.");
}
}
}
如果存在,我试图让用户再次输入文件名。但是如果用户输入一个存在的文件名,它会永远运行。我该如何解决?有人可以帮忙吗?谢谢你
解决方案
原因是您使用try(input)
. 由于扫描仪在第一次之后已经关闭catch
,因此无法接受任何新的输入。
删除(input)
并使用单独的input.close
应该可以工作。
推荐阅读
- javascript - 用 props 值连接 v-for 循环中的源数据
- c++ - 英特尔编译器使用“属性“__malloc__”不接受参数的 C++14 检查失败
- python-3.x - 使用 openpyxl 和 python 获取值时出错
- macos - 显示响应下降的工作表
- r - 将在线 xml 数据加载到 R 闪亮仪表板中的滑块
- node.js - npm 前缀路径未在 /usr/bin/ 中正确创建符号链接
- typescript - react-joyride 不接受自定义工具提示
- python - 如何将行写入 NamedTemporaryFile 然后打印每一行
- lua - 检测 lua 标准输入/标准输出的变化
- c - 为什么需要针对目标的标准库构建(主机)GCC?