Zapis do pliku (linux)

0

Witam, napisałem sobie funkcję zapisującą obiekt do pliku.

 //Zapisuje dane tabeli
	public void saveJTableContents(JTable jtable, File file)
			throws FileNotFoundException {
		Object[][] table = new Object[jtable.getRowCount()][jtable
				.getColumnCount()];
		int columns = jtable.getColumnCount();
		int rows = jtable.getRowCount();

		for (int i = 0; i < rows; i++) {
			for (int j = 0; j < columns; j++) {

				table[i][j] = jtable.getValueAt(i, j);
				
			}
		}
		try {
			XMLEncoder e = new XMLEncoder(new BufferedOutputStream(
					new FileOutputStream(file)));
			
			e.writeObject(table);			
			JOptionPane.showMessageDialog(null, "Udalo sie zapisac!");
			e.close();
		} catch (FileNotFoundException ex) {
			JOptionPane.showMessageDialog(null, ex.getMessage());
		}

	}

Pod windowsem wszystki działa, natomiast na linuxie program nie wyrzuca żadnych wyjątków aczkolwiek obiektu nie zapisuje.

Katalog : /home/xwid/workspace/Projekt/

Uprawnienia do zapisu mam, co może być przyczyną ?

0

Pokaż jaki obiekt file przekazujesz przy wywoływaniu funkcji.

0

Jeśli to jest uruchamiane przez klikniecie na jar'a, jedna sugestia:

W windowsie w takim wypadku "biezacy katalog" jest ustawiany na katalog, w ktorym znajduje sie jar, wiec File("plik.txt") utworzy plik w katalogu z jar'em.
Linux ma to inaczej. Po uruchomieniu jar'a biezacy katalog, to zawsze katalog domowy usera, wiec File("plik.txt") utworzy plik w katalogu domowym usera.

0

Nie uruchamiam JARa, tylko poprzez polecenie RUN w Eclipse.

File = "users/Michał/PAZDZIERNIK.xml";

gdzie users to glowny katalog projektu Eclipse.

Dla porównania pliki .png jako ikony dla JButtonów ładują się poprawnie więc wykluczam podawanie złej ścieżki, co więcej funkcja odczytu z pliku do której przekazywany jest ten sam plik działa i plik XML czyta.

Funkcja zapisu nie potrafi natomiast go nadpisać.

0

Problem rozwiązany. Brakowało "." .

Proszę o usunięcie tematu.

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