Zapisywanie do pliku - ścieżka

0

Mam trochę banalny problem, ale nie mam już pomysłu, jak go ogarnąć, bo wszystko niby robię okay.

Otóż, chcę zapisać ArrayList do pliku.

Robiłem to tak i działało normalnie:

			ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream( "plik"));
			out.writeObject(listArray);
			out.close();

Chciałem jednak wszystkie pliki mieć w jednym folderze i nie umiem tego zrobić. Takie coś zwraca błąd:

			ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream( "/data/plik"));
			out.writeObject(listArray);
			out.close();

Mimo, że takie wskazywanie ścieżki normalnie mi działa, przy wczytywaniu FXMLa.

Z góry dzięki za pomoc.

0

Nie próbowałem u siebie, ale pierwsza myśl to taka że może w złym katalogu on zaczyna (bo to co podajesz to ścieżka względna a nie bezwzględna). Spróbuj podać bezwzględną ścieżkę do pliku, który chcesz stworzyć / do którego chcesz zapisać.

Druga sprawa, to odczyt / zapis do / z plików w javie można zrobić na tysiąc sposobów i jak jeden zawodzi to można próbować kolejnym :P

0

Czy katalog data istnieje? Jeśli nie, to musisz go wpierw utworzyć.
Wbrew temu co pisze @Pinek, podałeś ścieżkę bezwzględną a nie względną, spróbuj (jeśli katalog data istnieje)

ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream( "data/plik"));
0

Do głowy przychodzi mi kilka rzeczy:

  • system operacyjny, zakładam, że pracujesz na macu/*nixie - ścieżki "/x/y" "pasują" do tych systemów, jeśli to windows powinieneś użyć innych ścieżek "C:\x\y",
  • czy katalog "/data" istnieje?
  • czy masz uprawnienia do zapisu w tym katalogu?

Zauważ, że podałeś ścieżkę bezwzględną, weź to pod uwagę sprawdzając uprawnienia i to czy katalog istnieje. Poza tym błąd, który dostajesz byłby pomocny ;)

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