Advertisement
Guest User

Untitled

a guest
Jan 29th, 2020
214
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.21 KB | None | 0 0
  1. package valtiot;
  2.  
  3.  
  4.  
  5. /**
  6. * @author Oskari Närhi 29.1.2020
  7. */
  8.  
  9. import java.io.FileInputStream;
  10. import java.io.FileNotFoundException;
  11. import java.io.FileOutputStream;
  12. import java.io.IOException;
  13. import java.io.ObjectInputStream;
  14. import java.io.ObjectOutputStream;
  15. import java.util.HashMap;
  16. import java.io.File;
  17.  
  18. public class TiedostonKäsittely {
  19.  
  20. // Kirjoittaa tiedostoon yhden HashMap-olio, jossa Valtio-olioita
  21. public static void kirjoitaTiedosto(String tiedostoNimi, HashMap<String, Valtio> valtiot) {
  22. try {
  23. // Avaa FileOutputStream-tulostusvirta tiedostoon ja
  24. // Luo objektivirta tiedostoon kirjoittamista varten
  25. File tiedosto = new File(tiedostoNimi);
  26. FileOutputStream virta = new FileOutputStream(tiedosto);
  27. ObjectOutputStream valtioTiedosto = new ObjectOutputStream(virta);
  28.  
  29. // Kirjoita HashMap objektivirtaan
  30. valtioTiedosto.writeObject(valtiot);
  31.  
  32. // Sulje tietovirta
  33. valtioTiedosto.close();
  34. System.out.println("Tiedot tallennettu (HashMap) tiedostoon " + tiedostoNimi);
  35. } catch (Exception ex) {
  36. System.out.println(tiedostoNimi + "-tiedostoon tallentaminen ei onnistunut");
  37. }
  38. }
  39.  
  40. /* Lukee tiedostosta HashMap-olion, jossa Valtio-olioita
  41. * Palauttaa HashMapin null, jos listaa ei pystytä muodostamaan
  42. */
  43. @SuppressWarnings("unchecked")
  44. public static HashMap<String, Valtio> lueTiedosto(String tiedostoNimi) {
  45. HashMap<String, Valtio> valtiot = new HashMap<String, Valtio>();
  46.  
  47. try {
  48. // Avaa FileInputStream-lukuvirta tiedostoon ja
  49. // Luo objektivirta tiedostosta lukemista varten
  50. File file = new File(tiedostoNimi);
  51. FileInputStream virta = new FileInputStream(file);
  52. ObjectInputStream valtioTiedosto = new ObjectInputStream(virta);
  53.  
  54. // Lue tiedoston sisältö
  55. valtiot = (HashMap<String, Valtio>) valtioTiedosto.readObject();
  56.  
  57. // Sulje tietovirta
  58. valtioTiedosto.close();
  59.  
  60. System.out.println("Tiedot haettu tiedostosta " + tiedostoNimi);
  61.  
  62. } catch (FileNotFoundException ex) {
  63. System.out.println("Tiedostoa " + tiedostoNimi + " ei ole olemassa.");
  64. } catch (Exception ex) {
  65. System.out.println(tiedostoNimi + "-tiedostosta (HashMap) lukeminen ei onnistunut.");
  66. }
  67.  
  68. return valtiot;
  69. }
  70.  
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement