Si yo estoy pidiendo al usuario introducir un archivo, y no existe el archivo, ¿cómo puedo seguir pidiendo el nombre del archivo sin la interrupción del programa?

Oboe:

Esto es lo que tengo ... Sé que debería requerir una quizás el método .empty () bucle o de la clase de archivos, pero no estoy seguro .. cualquier ayuda se agradece. Lo que tengo va a abrir un archivo, leer el archivo en cada línea y, a continuación, volver la cantidad de caracteres en el archivo, la cantidad de palabras en el archivo, y el número de sentencias en el archivo.

public class FileExample{
    public static void main(String[] args) throws FileNotFoundException, IOException{
        Scanner in = new Scanner(System.in);
        boolean fileFound = false;
        try{
            System.out.println("What is the name of the file?");
            inputFile = in.nextLine();
            File file = new File(inputFile);
            fileFound = file.exists();
            FileInputStream fileStream = new FileInputStream(file); 
            InputStreamReader input = new InputStreamReader(fileStream);
            BufferedReader reader = new BufferedReader(input);
            if(!file.exists()){

            }
            while((line = reader.readLine()) != null){
                if(!(line.equals(""))){
                    ...
                }
            }
        }
        catch(FileNotFoundException e){
            System.out.println("File not found.");
        }
        System.out.println("output data");
    }   
}
anosreP:

Es necesario hacer un bucle while y mover el bloque try dentro del bucle.

while(true){
    try{
        System.out.println("What is the name of the file?");
        inputFile = in.nextLine();
        File file = new File(inputFile);
        if(!file.exists()){
            continue;
        }
        FileInputStream fileStream = new FileInputStream(file); 
        InputStreamReader input = new InputStreamReader(fileStream);
        BufferedReader reader = new BufferedReader(input);
        while((line = reader.readLine()) != null){
            if(!(line.equals(""))){
                characterCount += line.length();
                String[] wordList = line.split("\\s+");
                countWord += wordList.length;
                String[] sentenseList = line.split("[!?.:]+");
                sentenseCount += sentenseList.length;
            }
        }
        break;
    }
    catch(FileNotFoundException e){
        System.out.println("File not found.");
    }
}

Supongo que te gusta

Origin http://10.200.1.11:23101/article/api/json?id=397201&siteId=1
Recomendado
Clasificación