Lendo um diretório com Scanner

Pessoal, estou fazendo um curso de java e numa das aulas estamos fazendo tratamento de exceção, eu quis criar uma classe que chamava um método para ler o diretório de um text e imprimir na tela, porém no console, após eu inserir diretório o programa não continua nem da erro.

A classe com o Método para receber o diretorio e ler o arquivo.
package Entities;

import java.io.File;
import java.io.IOException;
import java.util.Scanner;

public class Leitor {
	
	Scanner sc = new Scanner(System.in);
	
	public void leitor() {
				
		System.out.println("Informe o diretório do arquivo a ser lido: ");
	
		File file = new File(sc.nextLine());
		Scanner c3 = null;
		try {
			c3 = new Scanner(file);
			while (c3.hasNextLine());
				System.out.println(c3.nextLine());
		}
		catch (IOException e) {
		System.out.println("Erro ao abrir o arquivo: " + e.getMessage());
	}
		finally {
			if (c3 != null) {
				c3.close();
			}
		}
	}
	
} 

E a Classe com o método main :

package application;

import Entities.Leitor;

public class Program {

	public static void main(String[] args) {
		
		Leitor init = new Leitor();
		
		init.leitor();
		
	}
}

/*

Pessoalmente, prefiro usar o Java 8 NIO, pois torna muito mais fácil e eficiente a leitura de arquivos.
 Existem dois métodos List <String> readAllLines (Path) e Stream <String> lines (Path). 
 O primeiro retorna um List <String> e você pode usar seus loops for tradicionais. Observe que este 
 método carrega todo o arquivo no memroy, portanto, não é aconselhável para arquivos grandes. 
 O segundo retorna um Stream, então a memória não é um problema.
veja abaixo como eu reescrevi seu método usando NIO.2
*/
public void leitor() {
	
	System.out.println("Informe o diretório do arquivo a ser lido: ");
	
		Path file = Paths.get(sc.nextLine());
		try {
		Files.lines(file).forEach(System.out::println);
		}catch(IOException e){
			System.out.println("Erro ao abrir o arquivo: " + e.getMessage());
		}
	
}

}

O que você entende por “ler o diretório de um text”?
Um diretório não pode ser lido, você só pode ler arquivos.