Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Java tiedostoon tallentaminen?

Sivun loppuun

Tommittaja [30.12.2008 15:04:27]

#

miten javassa voi tallentaa syötteen txt tiedostoon? mulla on tollanen Lue- luokka, jolla voi lukea syötteen int-, String-, double- ja char muodossa. en vain osaa tuota tallennusta...

Jackal von ÖRF [30.12.2008 15:20:14]

#

http://java.sun.com/javase/6/docs/api/java/io/FileWriter.html

Tommittaja [30.12.2008 15:31:02]

#

siellä ei kerrota tuon luokan käytöstä... voiko joku neuvoa siinä?

hunajavohveli [30.12.2008 16:35:56]

#

PrintWriterilla tulostuksen saa muotoiltua samaan tapaan kuin System.out:lla. Esimerkiksi tähän tapaan:

import java.io.*;

public class Filetest
{
	public static void main(String[] args)
	{
		PrintWriter writer;

		// Luodaan kirjoitusvirta tiedostoon "tiedosto.txt" ja annetaan se PrintWriterille
		try {
			writer = new PrintWriter(new FileOutputStream("tiedosto.txt"));
		} catch(FileNotFoundException e) {
			System.out.println("Tiedostoa ei voi luoda tai siihen ei voi kirjoittaa.");
			return;
		}

		writer.println("tekstiä");		// Kirjoitellaan
		writer.println(42);
		writer.close();					// Suljetaan kirjoitusvirta
	}
}

Tommittaja [30.12.2008 17:27:50]

#

kiitos vaan.. yritän ton käsittää jotenkin vielä.. en oo käyttänyt noita try ja catch ja return komentoja ennen ja mikä toi writer.println(42); on?

Metabolix [30.12.2008 17:37:48]

#

Tommittaja kirjoitti:

kiitos vaan.. yritän ton käsittää jotenkin vielä.. en oo käyttänyt noita try ja catch ja return komentoja ennen

Jos ymmärtämisessä on vaikeuksia, suosittelen jonkin oppaan lukemista. Varmaan itsekin ymmärrät kyseleväsi sellaisia perusasioita, jotka opetetaan kaikissa vähintäänkin kohtuullisissa Java-oppaissa.

Tommittaja kirjoitti:

ja mikä toi writer.println(42); on?

Siinä kirjoitetaan rivi, jolla on luku 42. Tarkoituksena on varmaankin demonstoroida, että myös lukujen kirjoittaminen onnistuu samalla funktiolla kuin tekstin (koska luvuilla on sopiva toString-metodi).

Jackal von ÖRF [30.12.2008 18:21:13]

#

Metabolix kirjoitti:

(koska luvuilla on sopiva toString-metodi).

Ei vaan koska PrintWriter-luokan println-metodi on kuormitettu (overload) siten, että jokaiselle primitiivityypille on oma println-metodinsa. Vain olioilla on toString-metodi, eivätkä Javan primitiivityypit ole olioita.

Tommittaja [30.12.2008 21:06:49]

#

mulla on kyllä toi arto wikilän kirjoittama: ohjelmoinnin alkeet javalla kirja..

hunajavohveli [30.12.2008 22:35:23]

#

Eikös tuo kuitenkin toimisi Metabolixin esittämällä tavalla, jos metodia ei olisi ylikuormitettu kaikilla tyypeillä? Alkeistyypithän kai autoboxattaisiin, jolloin käytössä olisi metodin Objectin ottava versio, joka puolestaan käyttää sitten toString():ä.

Edit: Wiklan materiaali on mielestäni oikein hyvä, siihen kannattaa kyllä perehtyä. Kirjaan en ole tutustunut, mutta verkossakin on saatavilla aika kattavasti tietoa Javan ominaisuuksista.

Jackal von ÖRF [30.12.2008 23:59:41]

#

hunajavohveli kirjoitti:

Eikös tuo kuitenkin toimisi Metabolixin esittämällä tavalla, jos metodia ei olisi ylikuormitettu kaikilla tyypeillä? Alkeistyypithän kai autoboxattaisiin, jolloin käytössä olisi metodin Objectin ottava versio, joka puolestaan käyttää sitten toString():ä.

Joo, siinä tapauksessa tapahtuisi autoboxaus.

Tommittaja [01.01.2009 04:21:24]

#

Siis sen kirjan kirjoittaja olikin *Arto Wikla

Tommittaja [19.01.2009 18:23:57]

#

+ sen kirjan nimi onkin ohjelmoinnin perusteet javalla... by Arto Wikla


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta