Kuinka Arraylist tiedostoon?

Eli ongelma on sellainen että on ohjelma joka tekee jäsenrekisteriä. No sehä ei ole tietysti ongelma mutta kun ohjelma lukee ne arraylistiin jolloin kaikki jäsenrekisterin tiedot menee hukkaan kun ohjelma sammutetaan. Onko mitenkään mahdollista siirtää arraylistin tietoja vaikka tekstitiedostoon?
51197
Äänestä

Muut lukivat myös

Vastaukset 5

Vanhimmat

Joo tottakai on mahdollista.

try
{

PrintWriter out = new PrintWriter (new FileWriter("tekstitiedosto.txt"), true);

for (int i = 0; i < taulukko.length; i )
{
out.println(taulukko[i]);
}

out.close ();
}


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

Äänestä

FileOutputStream fos = new FileOutputStream("jasenrekisteri.arraylist");
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(jasenrekisteri);
oos.close();

Tässä tietty menetetään mahdollisuus tutkia tiedostoa tekstieditorilla. Mutta onpahan ainakin helppo tallentaa ja lukea...

Äänestä
  • sitten vastaavalla FileInputStreamilla. Koodi menee muuten melkeen samaan tapaan. Kannattaa tarkistaa APIsta sen FileInputStreamin metodit.

    Varmaan jotain tyyliin:

    ArrayList list = (ArrayList)ois.readObject();

    Äänestä

Kokeilin tälläista:

public void kirjoitaTiedostoon(){
try{
PrintWriter tulos = new PrintWriter(new FileOutputStream("jasenluettelo.txt"),true);
tulos.print(tulostaJasentiedot());
tulos.close(); }
catch (FileNotFoundException e){
System.out.println("\nOngelmia tiedostoon kirjoituksessa! }
}

Mikä minulla on väärin tuossa metodissa kun editori (Eclipse) ilmoittaa että: The method print (char) in the type Printwriter is not applicable for the arguments (void)
tuossa tulos.print(tulostaJasentiedot()); rivillä

Äänestä
  • Onko sinulla metodi public void tulostaJasentiedot() ? PrintWriterilla on luokassa aika monta metodia nimeltään write. Metodin tulostaJasentiedot() pitäisi palauttaa jokin olio, joka sopii jollekin write()-metodille. Siis esim public String tulostaJasentiedot().

    Mielestäni tuo tulostaJasentiedot() on vähän turha. Tee tulostussilmukka ihan rohkeasti tuohon kirjoitaTiedostoon() metodiin. Jos haluat yleiskäyttöisyyttä, anna tulostettava ArrayList ja kohdetiedosto argumentteina metodille, esim. kirjoitaTiedostoon(ArrayList lista, String tiedostonimi).

    Äänestä

Kommentoi aloitusta


SL55 kirjoitti:

Eli ongelma on sellainen että on ohjelma joka tekee jäsenrekisteriä. No sehä ei ole tietysti ongelma mutta kun ohjelma lukee ne arraylistiin jolloin kaikki jäsenrekisterin tiedot menee hukkaan kun ohjelma sammutetaan. Onko mitenkään mahdollista siirtää arraylistin tietoja vaikka tekstitiedostoon?

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu