Tworzenie nowego folderu z plikiem tekstowym w środku

0

Hej,

Tak jak w temacie chcę utworzyć nowy folder, a w nim plik tekstowy jednocześnie, a raczej jednym przyciskiem. Sprawa wygląda tak - mam okienko, w którym user podaj "id" np. "1234". Po kliknięciu przycisku "Begin Session" w folderze "Database" tworzę nowy folder o nazwie naszego "id", czyli w tym przypadku "1234". Dalej w tym samym oknie, w którym user podaje "id" są jeszcze inne pola do wypełnienia, takie jak np. "name" i "age". Informacje z tych pól chcę zapisać do pliku "info.txt" w folderze "1234". Wszystko to chciałbym mieć pod jednym guzikiem :) Ale jak to zrobić?

Tak to wygląda http://imageshack.us/photo/my-images/189/pytanief.jpg/

Pozdrawiam serdecznie i dziękuję z góry za pomoc!

0

Żadna filozofia, dane z formularzy składowych zapisujesz w jakiejś tablicy, a w akcji przycisku przeprowadzasz danych z tej tablicy zapis do pliku.

0

Nie zrozumiałeś, albo ja nie rozumiem :) problem w tym, że nie wiem jak pod jednym przyciskiem utworzyć folder o nazwie "id" i w tej samej akcji przycisku (ciągle trwającej - nie klikam drugi raz!) utworzyć w tym folderze o nazwie podanej w "id" plik tekstowy "info" z resztą danych. Sam plik tekstowy wiem jak utworzyć, ale nie umiem nadać mu lokalizacji powstania. Jak na razie przycisk "begin session" tworzy mi folder o nazwie wpisanej w "id" w folderze "database", ale już plik tekstowy "info" ląduje w folderze z plikiem startowym programu .jar. I nie wiem jak zrobić, by lądował w tym nowopowstałym "id". Mam nadzieję, że teraz jaśniej napisałem. Poniżej fota ilustrująca problem.

http://imageshack.us/photo/my-images/51/problemmz.jpg/ ps plik "info" i "1234" powstają jednocześnie pod tym samym przyciskiem.

0

Wow :D Zamiast rysować takie zaawansowane diagramy, może przyłóż się do nauki programowania :)

W akcji dla przycisku piszesz wszystko po kolei co ma się wykonać. Czytasz gdzieś w dokumentacji jak w języku, który używasz tworzy się nowe foldery, przenosi/kopiuje/tworzy pliki i piszesz po kolei krok po kroku co dany przycisk ma zrobić.

0

Programuję od około 10 dni. Obrazek miał pomóc zrozumieć w czym leży problem, by ukrócić wyjaśniające dyskusje i przejść do sedna sprawy. Gdybym znalazł odpowiedź w dokumentacji, albo gdzie indziej w necie, nie pisałbym na forum. Spędziłem wczoraj pół nocy na tej drobnostce i utknąłem (na pewno jest to coś banalnego). Nie wiem jak to ugryźć. Bądź więc tak miły i jeśli nie posiadasz do powiedzenia nic co mogłoby pomóc mi w znalezieniu odpowiedzi i innym, którzy mają podobny problem, to zachowaj to dla siebie :)

Pozdrawiam serdecznie

0

Piszesz swoje posty tak chaotycznie, że zrozumiałem, że wiesz jak zrobić każdą pojedynczą czynność, a nie wiesz jak zrobić aby katalog i plik tworzyły się "jednocześnie".

Dodaj akcję do przycisku i w ciele metody zastosuj poniższe tutoriale:

http://www.roseindia.net/tutorial/java/corejava/file6.html - tworzenie folderu w Javie
http://www.roseindia.net/java/example/java/io/CreateFile.shtml - tworzenie pliku w Javie
http://www.roseindia.net/java[...]ners/java-write-to-file.shtml - zapis danych do pliku

Jeśli z tymi tutorialami nie osiągniesz tego co zamierzasz, to znaczy, że:
a) programowanie nie jest dla Ciebie;
b) Java jest dla Ciebie za trudna, zacznij od łatwiejszych języków, w których mniej się pisze, żeby osiągnąć dany efekt;
c) szukasz gotowca - musisz zlecić i zapłacić komuś za stworzenie tej aplikacji;

0

:) nie rozumiem, czy tak słabo tłumaczę, czy tak słabo rozumiesz.. Przesyłasz mi tutoriale do tworzenia pliku, folderu i do zapisu danych w pliku, gdy ja Ci wcześniej wyjaśniłem na czym polega problem.. Nawet na tym "diagramie", który tak bardzo Ci się spodobał miałeś zilustrowane clue sprawy. Wiem, jak tworzyć folder, plik i jak zapisywać w nim dane. Nie wiem, jak zrobić, by na zakończenie podawania danych przez usera po kliknięciu przycisku "begin session" w NOWO powstałym folderze o nazwie "ID" (to jest ciąg znaków podanych przez usera w tym samym oknie gdzie podaje resztę danych zapisywanych już do pliku "info.txt") znalazł się plik tekstowy z resztą danych.

Przycisk "begin session" za jednym kliknięciem ma:

  1. pobrać znaki z pola "id" i utworzyć nowy folder w folderze "Database" o nazwie podanej w polu "id" <--- ZROBIONE
  2. pobrać resztę danych i utworzyć plik tekstowy o nazwie "info.txt" <--- ZROBIONE
  3. ten plik ma się znajdować w nowo powstałym folderze z punktu 1. <--- nie zrobione

Rozumiesz..?

Jeszcze dodam, że główny problem tkwi w wyborze lokalizacji dla pliku "info.txt". Tutaj nie podziała zwykłe podanie ścieżki, nie mogę przecież podać przy tworzeniu pliku "c:\coś_tam\Database\id", bo nowy folder nie nazywa się id tylko nazywa się tak jak wpisał user.. Mam nadzieję, że teraz wszystko jasne :)

ps jeszcze myślę, żeby spróbować "c:\coś_tam\Database\" + id, zaraz pokombinuję :D

0

3) Kopiujesz plik info.txt do folderu z punktu 1, albo w punkcie 2 zapisujesz plik info.txt do tego folderu, skoro w punkcie pierwszym tworzysz folder i potrafisz to zrobić, to na podstawie danych, które masz, potrafisz podać ścieżkę zapisu pliku info.txt...

--- po Twojej edycji

Po prostu korzystasz ze zmiennych. Tak jak to zrobiłeś w punkcie 1.

1

JEST!! Udało się :D:D uwielbiam to :D

Jakby ktoś miał kiedyś podobny problem to tak to wygląda:

 //Begin Session

        // Pobieramy dane z pól tekstowych
        String id = jTextField1.getText();
        String firstName = jTextField2.getText();
        String lastName = jTextField3.getText();
        String age = jTextField4.getText();
        String phone = jTextField5.getText();
        String email = jTextField6.getText();

        if (!id.equals("")) //warunek dla pola "id"
        {
            new File("Database", id).mkdir();  // tworzymy nowy folder o nazwie z pola "id" w folderze "Database"

            // Teraz tworzymy plik tekstowy w lokalizacji nowo utworzonego folderu o nazwie "id"
            File f;
            f = new File("Database/" + id, "info.txt" );
            try
            {
                f.createNewFile();
            } catch (IOException ex)
            {
                Logger.getLogger(NewSession.class.getName()).log(Level.SEVERE, null, ex);
            }

            // A teraz zapisujemy do niego dane z pozostałych pól ankiety/aplikacji cokolwiek :)
            try
            {
                PrintWriter zapis = new PrintWriter(f);

                zapis.println("Id: " + id);
                zapis.println("First name: " + firstName);
                zapis.println("Last name: " + lastName);
                zapis.println("Age: " + age);
                zapis.println("Phone: " + phone);
                zapis.println("E-mail: " + email);
                zapis.close();
            } 
            catch (FileNotFoundException ex)
            {
                Logger.getLogger(NewSession.class.getName()).log(Level.SEVERE, null, ex);
            }

        }
        else
        {
            // Tu wyskoczenie okienka z informacją o uzupełnieniu pola "id" jeśli byłoby puste 
        }

Pozdrawiam :) A Spine'owi dziękuję za dyskusję :P motywowałeś do wysiłku :D ps temat do zamknięcia :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0