Java: FileReader ja FileWriter

Javan luokat FileReader ja FileWriter ovat yksinkertaisimpia apuvälineitä tiedostojen peruskäsittelyyn. Esimerkiksi tekstitiedoston käsittelyyn ei välttämättä muita apuvälineitä edes tarvita, ellei käytetyn merkistön suhteen ole vaatimuksia.

FileWriter tarjoaa myös mahdollisuuden kirjoittaa halutun tiedoston yli tai jatkaa vanhan tiedon perään kirjoittamista. Oheisessa esimerkissä ohjelma lukee oman lähdekoodinsa ja kopioi sen lähes samannimiseen tiedostoon.

/* FileReaderWriter.java. Esimerkki FileReaderin ja Writerin käytöstä.
 * Kristian Virtanen, 2014, kristianvirtanen.wordpress.com
 * Public Domain, eli saa käyttää, muuttaa, kopioida, levittää, kummata ja mitä tahansa.
 */

// tuodaan tarvittavat paketit
import java.io.*;

public class FileReaderWriter {

	public static void main(String[] args) throws IOException {
		
		// oma lähdekooditiedosto
		String fileName = "FileReaderWriter.java";
		// kopion nimi
		String kopioName = "FileReaderWriter2.java";
		// String johon tiedoston sisältö tallennetaan
		String tallennus = "";
		
		// Avataan "oma" lähdetiedosto
		try {
			FileReader fr = new FileReader(fileName);
			int i=-1;
			System.out.println("Avataan ja luetaan tiedosto:" + fileName);

			while ((i=fr.read())!=-1){
				// alla oleva rivi tulostaisi tiedoston näytölle
				// System.out.print((char)i);
				tallennus += (char) i;
			}
			fr.close();
		} catch (FileNotFoundException e) {
			System.out.println(e.toString());
			System.exit(1);
		}

		System.out.println("Yritetään kirjoittaa tiedoston " + fileName + " sisältö tiedostoon " + kopioName);		
		try {
			FileWriter fw = new FileWriter(kopioName, false);
				fw.write(tallennus);
			fw.close();
		} catch (IOException e) {
			System.out.println("Jokin meni vikaan tallennuksessa:" + e.toString());
		}
		
		
		
	}
}
Advertisements

Vastaa

Täytä tietosi alle tai klikkaa kuvaketta kirjautuaksesi sisään:

WordPress.com-logo

Olet kommentoimassa WordPress.com -tilin nimissä. Log Out / Muuta )

Twitter-kuva

Olet kommentoimassa Twitter -tilin nimissä. Log Out / Muuta )

Facebook-kuva

Olet kommentoimassa Facebook -tilin nimissä. Log Out / Muuta )

Google+ photo

Olet kommentoimassa Google+ -tilin nimissä. Log Out / Muuta )

Muodostetaan yhteyttä palveluun %s