Scanner read=new Scanner(file);
Исключение «FileNotFoundException» встречается в этом утверждении.Я продолжаю получать «FileNotFoundException», хотя я обработал исключение, и файл существует.
import java.util.*;
import java.io.*;
public class shoppingList {
public static void main(String []args)throws IOException {
File file=new File("MyList.txt");
try {
if(file.exists()==false)
throw new FileNotFoundException("the file input doesn't exist");
}
catch(FileNotFoundException e){System.out.print(e.getMessage());}
//I tried handling the exception but it didn't work
Scanner read=new Scanner(file);
File outfile=new File("MyReceipt.txt");
FileOutputStream fos=new FileOutputStream(outfile);
PrintWriter output=new PrintWriter(fos);
while(read.hasNext()) {
String item=read.next();
double price=read.nextDouble();
String status=read.next();
output.println("My Receipt: ");
output.println("--------------------");
if(status.equals("Done")==true)
output.println(item+" "+price);
double total=0;
total+=price;
output.println("--------------------");
output.println("total= "+total);
}
read.close();
output.close();
}
}
Ну, файл не существует там, где вы запускаете программу. Вот почему вы получаете ошибку. Чтобы убедиться, что путь к файлу должен быть указан, прокомментируйте весь код внутри метода 'main' и добавьте этот новый файл (« something.txt »). CreateNewFile();' запустите его, и вы увидите это новое созданный файл (и место, где вы должны поместить файл * MyList.txt *). –
@ LuiggiMendoza - это хорошая идея. В качестве альтернативы OP должен попробовать 'System.out.println (новый файл (« MyList.txt »). GetAbsolutePath());' для отладки, где программа ищет файл. – sgp15
@ sgp15 не будет работать, если файл * MyList.txt * не существует ... –