我需要帮助来弄清楚如何循环我的IOException (在这里,我要求一个文件名,直到输入一个有效的文件名)。我需要一个循环,以某种方式识别输入了一个无效的文件,但不确定如何做到这一点。
import java.util.*;
import java.io.*;
public class JavaGradedLab {
public static void main(String[] args) throws IOException {
Scanner inScan, fScan = null;
int [] A = new int[5];
inScan = new Scanner(System.in);
System.out.println("Please enter the file to read from: ");
try{
String fName = inScan.nextLine();
fScan = new Scanner(new File(fName));
}
catch (FileNotFoundException ex)
{
System.out.println("Your file is invalid -- please re-enter");
}
String nextItem;
int nextInt = 0;
int i = 0;
while (fScan.hasNextLine())
{
nextItem = fScan.nextLine();
nextInt = Integer.parseInt(nextItem);
A[i] = nextInt;
i++;
}
System.out.println("Here are your " + i + " items:");
for (int j = 0; j < i; j++)
{
System.out.println(A[j] + " ");
}
}
}发布于 2012-11-26 11:57:39
好吧,肯定有人会解释如何通过最佳实践等来改进你的代码,但这是一个非常基本的答案,它本身可能会得到改进(假设你的代码在输入有效的情况下可以工作):
while(true) {
try{
String fName = inScan.nextLine();
fScan = new Scanner(new File(fName));
break;
}
catch (FileNotFoundException ex)
{
System.out.println("Your file is invalid -- please re-enter");
}
}https://stackoverflow.com/questions/13558427
复制相似问题