kod klasy głównej nie wykonuje się

0

Szanowni Koledzy,

Mam dokończyć projekt książki adresowej w Netbeans, która ma eksportować kontakty do pliku txt, ale klasa główna homework (listing poniżej, a w załączniku całość) nie wykonuje się :( tzn. kompilacja nie wykazuje błędów ale też nie ma śladów działania np. mojego prymitywnego menu w konsoli; A na samym początku kompilator wskazywał błąd:
"java.io.FileNotFoundException: pb.txt (Nie można odnaleźć określonego pliku)"
Stworzyłem pb.txt sztucznie w katalogu projektu i błędy zniknęły. Ten plik powinien być stworzony po wykonaniu kodu klasy głównej ale ona się nie wykonuje i koło się zamyka

Czy ma ktoś może pomysł dlaczego kod klasy homework jest "ignorowany" przez kompilator ?
Pozdrawiam i z góry dziękuję za pomoc:)

//listing klasy homework
package homework;

import java.io.;
import java.util.
;

public class Homework {

public static String help_msg= "Press: H Help - A Add contact - S Search - Q Exit :";
public static void main ( String [] args ) {
System.out.println("\n\n***** Welcome to MyPhone Book *****\n\n");
Scanner s=new Scanner(System.in);
for(;;){
System.out.print("[Main Menu] "+help_msg+"\n:");
String command=s.nextLine().trim();

            if (command.equalsIgnoreCase("H")){    
                System.out.println(help_msg);
                }else if (command.equalsIgnoreCase("A")){
                        System.out.print("Type in contact details in the format: name,lastname,phone\n:");

                }else if (command.equalsIgnoreCase("S")){
                        System.out.print("Type in the name you are searching for :\n:");

                }else if (command.equalsIgnoreCase("Q")){
                        System.out.println("Good Bye User....");
                        System.exit(0);
                }else{    
                        System.out.print("Unknown command ! Try again \n:");
                }
   
    PhoneBook pb = new PhoneBook();
    pb.addContact( new Person( "Żona", new Email( "[email protected]") ) );
    pb.addContact( new Person( "Córka", new Phone( 123456 )));
    pb.addContact(new Person( "Dziadek"));
    pb.addContact( PBUtils.parsePerson("Szef: contact by: Email: [email protected]") );
    pb.sort();
    System.out.println( pb );
    File f = new File("pb.txt");
            
try {
        PBUtils.writeToFile("pb.txt");
    } catch( IOException e ){
                    System.err.println(e);
                    }
}

}
}

0

Wcale nie tworzysz pliku. new File() jest utworzeniem obiektu klasy File.
Ktoś zadał już pytanie jak to zrobić:
http://stackoverflow.com/questions/9620683/java-fileoutputstream-create-file-if-not-exists

Powinieneś wywołać metodę createNewFile(), która tworzy nowy plik tylko wtedy gdy taki nie istnieje.
tu jest dokumentacja:
http://docs.oracle.com/javase/7/docs/api/java/io/File.html#createNewFile()

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.