0

Я получаю следующее сообщение об ошибке:ошибка: не удается найти символ: класс FileNotFoundException

printfile.java:6: error: cannot find symbol 

throws FileNotFoundException { 
       ^
    symbol: class FileNotFoundException 
    location: class printfile 

для следующего кода:

import java.io.File; 

import java.util.Scanner; 

    public class printfile { 

     public static void main(String[]args) 

      throws FileNotFoundException { 
      Scanner keyboard = new Scanner(System.in); 
      System.out.println (" What file are you looking for? "); 
      String searchedfile = keyboard.next(); 
      File file = new File(searchedfile); 
      if (file.exists()) { 
       System.out.println(" Okay, the file exists... "); 
       System.out.print(" Do you want to print the contents of " + file + "?"); 
       String response = keyboard.next(); 
       if (response.startsWith("y")) { 
        Scanner filescan = new Scanner(file); 
         while (filescan.hasNext()) { 
         System.out.print(filescan.next()); 
         } 
       } 
       else { 
        System.out.print(" Okay, Have a good day."); 
       } 
     } 
    } 
} 

Как можно разрешить эту ошибку?

+6

'import java.io.FileNotFoundException' ... – Reimeus

+0

спасибо за тонну -A – ashwetzer

ответ

1

Чтобы использовать класс, который не в "рамки" вашей программы, (т.е. FileNotFoundException), вы должны:

Позвони это полное имя:

// Note you have to do it for every reference. 
public void methodA throws java.io.FileNotFoundException{...} 
public void methodB throws java.io.FileNotFoundException{...} 

ИЛИ

Импортируйте класс из его упаковки:

// After import you no longer have to fully qualify. 
import java.io.FileNotFoundException; 

... 

public void methodA throws FileNotFoundException{...} 
public void methodB throws FileNotFoundException{...} 

Предложите также взять al ook в вопросе this, объясняет почти все, что вы можете захотеть узнать о модификаторах управления acess Java.