odczyt daty pliku w java

0

Cześć piszę aplikację w netbeans w java z wykorzystaniem bazy sqlite, mam pytanie jak zrobić automatyczną aktualizację, tj. podczas uruchomienia programu sprawdzić czy aktualny plik sqlite w naszym folderze jest starszy od tego z serwera ftp i jeśli tak to pobrać ten z ftp i nadpisać ten starszy ?

0

Tylko mi chodzi o SQLite nie o oracle w nim NIE MA czegoś takiego chyba.

0

lastModified() jest metodą klasy File, nie ma związku z żadną bazą danych.

0

Ok, tylko jak sprawdzić lastModified() pliku znajdującego się na serwerze ftp ?

0

Zależy jak się łączysz z tym serwerem. Jeśli korzystasz z jakiejś biblioteki np. commons-net to powinieneś znaleźć odpowiednią funkcję w dokumentacji, inaczej poszukaj na temat polecenia MDTM

0

Zrobiłem coś takiego, wszystko pięknie ładnie działa, łącze się z serwerem, sprawdzam ostatniądate modyfikacji , plik jest pobierany niestety gdy go chcę otworzyć wywala błąd:

java.sql.SQLException: database disk image is malformed

a to kod jak łącze się z ftp i pobieram plik

FTPClient ftp = new FTPClient();
try {
	           
	          ftp.connect("ftp.prv.pl");
	             ftp.login("slowniktest","JSkieLog");
	      } catch (SocketException ex) {
	          ex.printStackTrace();
	      } catch (IOException ex) {
	          ex.printStackTrace();
	      }
      int reply = ftp.getReplyCode();
if(FTPReply.isPositiveCompletion(reply)){
	               System.out.println("Connected Success");
	           }else {
	               System.out.println("Connection Failed");
	               ftp.disconnect();
	           }
      File file  = new File("slownik.sqlite");
       File file2  = new File("wyraz");
 long data1=file.lastModified();
 long data2=file2.lastModified();

        if(data1>data2){
            System.out.println("Na serwerze jest nowszy");
            file.delete();
            try{
            File file3  = new File("slownik.sqlite");
              
               
         FileOutputStream  dfile = new FileOutputStream(file3);
	ftp.retrieveFile("slownik.sqlite",dfile);
       
            }
           catch(IOException e){
	System.out.println(e);
	}
0

Użyj klienta FTP (Total Commander, WinScp,..) który ma funkcję porównywania zbioru lokalnego i zdalnego i sprawdź czy ściągnięty plik jest identyczny z oryginałem na serwerze.

0

Tylko mi chodzi o SQLite nie o oracle w nim niema czegoś takiego chyba.
Haha kolega podał kod do dokumentacji Javy, w adresie jest oracle.com bo Oracle kupiło niedawno Suna.

0

Wszystko jest OK plik jest idealnie i poprawnie sprawdzany co do daty ostatniej modyfikacji, wszystko pięknie i ładnie jednakże po pobraniu pliku i uruchomieniu programu wywala komunikat że plik sqlite jest uszkodzony i to mię dziwi. Nie wiem dlaczego i nie wiem jak to obejść.

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