Java [zapis, odczyt plik txt]

0

Dzień dobry,

na początku chciałbym prosić o wyrozumiałość, bo to moje pierwsze chwile z Javą i wielu rzeczy nie ogarniam.

Muszę napisać aplikację, która przechowuje notatki. Powinna wyświetlać menu [dodawanie, wyświetlanie i usuwanie notatek i zapis i odczyt z pliku tekstowego]. W dalszym etapie muszę zrobić wyszukiwanie notatek zawierających dany fragment tekstu

Zrobiłem tyle:

package com.company;
 
 
import java.util.ArrayList;
import java.util.Scanner;
 
 
 
public class Main {
 
 
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<String>();
        Scanner sc = new Scanner(System.in);
 
        String option;
        String note;
 
 
 
 
        do {
            System.out.println("Menu\n1 Dodaj notatke\n2 Wyswietl notatke \n3 Usun notatke \n4 odczyt z pliku \nw Wyjscie\nWybierz>");
            option = sc.nextLine();
            switch (option) {
                case "1":
                    System.out.println("Dodaj notatke>");
                    note = sc.nextLine();
                    list.add(note);
                    break;
                case "2":
                    System.out.println("Notatki");
                    for (String s : list) {
                        System.out.println(s);
                    }
                    break;
                case "3":
                    System.out.println("Podaj nazwe notatki");
                    note = sc.nextLine();
                    list.remove(note);
                    break;
                case "4":
                    System.out.println("odczyt");
 
 
                    break;
                case "w":
                    System.out.println("Zakonczenie programu");
                    break;
                default:
                    System.out.println("Brak opcji " + option);
                    break;
            }
        } while (!"w".equals(option));
 
 
    }
}

Jak na razie mam w Menu opcję dodawania notatek, wyświetlania, usuwania. Nie wiem jak dodać do Menu opcję odczyt i zapis z pliku .txt, żeby poprawnie działało. Dodałem nową klasę, ale nie wiem czy tak się to robi. Ale zaś z drugiej strony, trzeba coś w kodzie Menu napisać :/

package com.company;
 
 
import java.io.FileNotFoundException;
import java.io.File;
import java.util.Scanner;
 
public class App {
    public static void main(String[] args) throws FileNotFoundException {
        Scanner odczyt = new Scanner(new File("nazwa_pliku.txt"));
 
 
    }
}


0

Możesz użyć np. File oraz FileWriter.

Ps to usuwanie notatek to ja bym zmienił. Twoje notatki nie mają nazwy, tylko samą treść.

0
  1. Nie jest Ci potrzebna druga aplikacja do czytania zawartości pliku! (public static void main(String[] args)
  2. Odczytać plik mozesz na wiele sposobów:
    File file = new File("/home/ścieżka/do/pliku.txt");
  • BufferedReader, BufferedReader br = new BufferedReader(new FileReader(file));
  • FileReader, FileReader(File file)
  • Scanner Scanner sc = new Scanner(file);
  • i jeszcze pare innych...
3

Generalnie lepiej korzystać z java.nio zamiast z java.io.
Polecam Path interface zamiast java.io.File oraz Files zamiast metod z java.io ;)

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