Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Zapis do pliku


Rekomendowane odpowiedzi

Opublikowano

Witam, od pewnego czasu programuję w Javie, odpoczywając od 3 letniego starcia z C++. Przy moim drugim projekcie napotkałem na problem z plikiem wykonywalnym *jar, a mianowicie zawarłem w swojej grze listę najlepszych wyników i jak wczytywanie z pliku *txt działa, to już zapis nie. Wielokrotnie na angielskich portalach internetowych spotkałem się ze zdaniami, że takie coś jest nie możliwe do wykonania. Jako, że nie ma dla mnie rzeczy niemożliwych postanowiłem zapytać się czy jest możliwy zapis do pliku *txt, który znajduje się w archiwum *jar. Może jakoś trzeba wypakować ten plik i nadpisać ? Może jakieś inne pomysły ? Z góry dziękuje za pomoc :)

ywug.jpg



Smacznego

Opublikowano

Witam, od pewnego czasu programuję w Javie, odpoczywając od 3 letniego starcia z C++. Przy moim drugim projekcie napotkałem na problem z plikiem wykonywalnym *jar, a mianowicie zawarłem w swojej grze listę najlepszych wyników i jak wczytywanie z pliku *txt działa, to już zapis nie. Wielokrotnie na angielskich portalach internetowych spotkałem się ze zdaniami, że takie coś jest nie możliwe do wykonania. Jako, że nie ma dla mnie rzeczy niemożliwych postanowiłem zapytać się czy jest możliwy zapis do pliku *txt, który znajduje się w archiwum *jar. Może jakoś trzeba wypakować ten plik i nadpisać ? Może jakieś inne pomysły ? Z góry dziękuje za pomoc :)

pytanie brzmi: po co ;)

Zrób plik obok .jara, jak chcesz by go nie edytowali... to możesz zapisać czysto na bajtach, to utrudni zabawe w podobnym stopniu co chowanie do .jar-a.

 

I trochę rozśmieszyła mnie część twojej wypowiedzi :D "Jako, że nie ma dla mnie rzeczy niemożliwych to pytam was jak to zrobić"

 

A tak to... raczej dodanie czegoś do pliku który jest używany może nie być możliwe.  A już tym bardziej na windowsie. 

Ale jak chcesz spr, to pobaw się klasami typu JarOutputStream, JarFile itd.

1438614356923701010629.png

 

Opublikowano

Czy mogę jakoś podczas tworzenia archiwum wskazać pliki, które maja znajdować się poza nim ? Czy trzeba coś poprawiać w kodzie, w celu ich wywołania ?

ywug.jpg



Smacznego

Opublikowano

Bardzo dziękuje za udzieloną mi pomoc, oczywiście wszytko działa, a jakby ktoś miał w przyszłości podobny problem dołączam kod ładowania jak i zapisu:

 

Fragment odpowiedzialny za ładowanie:

FileReader reader = new FileReader("input.txt");  
     
   Properties p = new Properties();  
   p.load(reader);
   
   for(int i=0 ; i<10 ; i++){
    System.out.println(p.getProperty(Integer.toString(i)));
    
    String line = p.getProperty(Integer.toString(i));
    
    Snake.snake.HighScore.add(Integer.parseInt(line));
   }

Fragment odpowiedzialny za zapisywanie:

int j = 0;


Snake.snake.HighScore.add(score);
Collections.sort(Snake.snake.HighScore);


System.out.println("Size: " + Snake.snake.HighScore.size());
   
try {


Properties properties = new Properties();


for(int i=Snake.snake.HighScore.size()-1 ; i>0 ; i--){
properties.setProperty(Integer.toString(j) , Integer.toString(Snake.snake.HighScore.get(i)));
j++;
}


File file = new File("input.txt");
FileOutputStream fileOut = new FileOutputStream(file);
properties.store(fileOut, "Best Score");


fileOut.close();
} catch (IOException e) {
e.printStackTrace();
}

Jeszcze raz dziękuje i uprzedzam się przed hejtami mówiąc, że <code> niepoprawnie wczytuje wcięcia.

ywug.jpg



Smacznego

Opublikowano

Teraz skojarzyłem ze można jeszcze użyć klasy Preferences, nie musiał byś tworzyć zadnego pliku tylko wszystko zostało by zapisane w repozytorium systemowym (np w rejestrze). Poczytaj sobie w dokumentacji.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...