2015-12-03 4 views
1

У меня есть .txt-файл, и я хочу, чтобы он читал содержимое этого файла для функции добавления записи, однако я получаю эту ошибку при ее запуске:Расписание курсов для добавления, просмотра, обновления и удаления записи

система не может найти указанный файл

package mylib1; 

import java.io.FileNotFoundException; 
    import java.util.Scanner; 


    import java.io.*; 

    public class Schedule { 

     public static void executeTask(int option){ 
      char addmore='n'; 
      switch(option){ 
      case 0: 
        return; 
      case 1: 
        do{ 
         add(); 
         addmore = getContinue("add"); 
         if(addmore=='n') 
          break; 
        }while(true); 
        break; 
      case 2: 
       do{ 
        view(); 
        addmore = getContinue("view"); 
        if(addmore=='n') 
         break; 
       }while(true); 
       break; 
      } 
     } 
     public static char getContinue(String methodName){ 
      char ch='n'; 
      try{ 
        System.out.println("Do you want to " +methodName + " more records (y/n)?"); 
        ch = (char) System.in.read(); 

       }catch(IOException e){ 
        System.out.println("IOException in input...."); 
       } 
      return ch; 
     } 
     public static void add() { 
      char ch; 
      System.out.println("Add Record"); 
      System.out.println("---------------"); 
      System.out.println(); 
      File file = new File("readcoursefile.txt"); 

       try { 

        Scanner scanner = new Scanner(file); 

        while (scanner.hasNextLine()) { 
         String line = scanner.nextLine(); 
         System.out.println(line); 
        } 
        scanner.close(); 
       } catch (FileNotFoundException e) { 
        System.out.println("file not found"); 
       } 

      try{ 
       System.out.println("Do you want to save/cancel record s/c"); 
       ch = (char) System.in.read(); 

      }catch(IOException e){ 
       System.out.println("IOException in input...."); 
      } 



     } 

     public static void update(){ 
      System.out.println("Update Record"); 
      System.out.println("---------------"); 
      System.out.println(); 


     } 

     public static void view(){ 
      System.out.println("View Record"); 
      System.out.println("---------------"); 
      System.out.println(); 



     } 

     public static void delete(){ 
      System.out.println("Delete Record"); 
      System.out.println("---------------"); 
      System.out.println(); 

      //prompt user for console input (attributes) 

      //write/update user record from file. 

     } 

     public static void search(){ 
      System.out.println("Search Record"); 
      System.out.println("---------------"); 
      System.out.println(); 



     } 



    } 
+0

выглядит файл нет, где система выглядит, пожалуйста, поместите файл в нужное место, или обеспечить полный путь к файлу. так что система может легко найти ее –

ответ

1

Вы не указав полный путь для текстового файла на этой линии:

File file = new File("readcoursefile.txt"); 

Итак, ваша программа будет искать файл в списке мест, начиная с working directory приложения (которое почти всегда является той же папкой, что и скомпилированное приложение.

Это может быть отладка или подобное место, если вы используете IDE.

Вы можете проверить, что этот каталог работает является строкой, аналогичной следующей:

String curDir = System.getProperty("user.dir"); 

И вы можете изменить каталог следующим образом:

System.setProperty("user.dir", "/tmp"); 

.
У вас есть четыре варианта действительно:

  1. жёстко полный путь (например: File file = new File("c:\coursefiles\readcoursefile.txt");

  2. Добавьте переменную файла конфигурации для местоположения файла

  3. предложит пользователю указать путь. для файла.

  4. Продолжайте использовать относительные пути и убедитесь, что файл находится внутри него.

0

Ваш код работает well.You просто обеспечить правильный путь, как @ Sk93 предложил

import java.io.FileNotFoundException; 
import java.util.Scanner; 


import java.io.*; 

public class Schedule { 
public static void executeTask(int option){ 
System.out.println("i am in executeTask"); 
      char addmore='n'; 
      switch(option){ 
      case 0: 
        return; 
      case 1: 
        do{ 
         add(); 
         addmore = getContinue("add"); 
         if(addmore=='n') 
          break; 
        }while(true); 
        break; 
case 2: 
       do{ 
        view(); 
        addmore = getContinue("view"); 
        if(addmore=='n') 
         break; 
       }while(true); 
       break; 
      } 
     } 
     public static char getContinue(String methodName){ 
      char ch='n'; 
      try{ 
        System.out.println("Do you want to " +methodName + " more records (y/n)?"); 
        ch = (char) System.in.read(); 

       }catch(IOException e){ 
        System.out.println("IOException in input...."); 
       } 
      return ch; 
     } 
     public static void add() { 
      char ch; 
      System.out.println("Add Record"); 
      System.out.println("---------------"); 
      System.out.println(); 
      File file = new File("readcoursefile.txt");//Here you need to provide proper path.You just go to your file location and copy the path and paste here 

       try { 

        Scanner scanner = new Scanner(file); 

        while (scanner.hasNextLine()) { 
         String line = scanner.nextLine(); 
         System.out.println(line); 
        } 
        scanner.close(); 
       } catch (FileNotFoundException e) { 
        System.out.println("file not found"); 
       } 

      try{ 
       System.out.println("Do you want to save/cancel record s/c"); 
       ch = (char) System.in.read(); 

      }catch(IOException e){ 
       System.out.println("IOException in input...."); 
      } 



     } 

     public static void update(){ 
      System.out.println("Update Record"); 
      System.out.println("---------------"); 
      System.out.println(); 


     } 

     public static void view(){ 
      System.out.println("View Record"); 
      System.out.println("---------------"); 
      System.out.println(); 



     } 

     public static void delete(){ 
      System.out.println("Delete Record"); 
      System.out.println("---------------"); 
      System.out.println(); 

      //prompt user for console input (attributes) 

      //write/update user record from file. 

     } 

     public static void search(){ 
      System.out.println("Search Record"); 
      System.out.println("---------------"); 
      System.out.println(); 



     } 

public static void main(String []args) 
{ 
Schedule sh=new Schedule(); 
System.out.println("i am in main"); 
sh.executeTask(1); 
} 


    } 
+0

ИДС \t Название курса \t \t \t Краткое название \t Основы программирования \t ФОП я хочу, чтобы добавить эту запись в выходной, но я имею проблемы написания кода для этого. – ish

Смежные вопросы