Datei auslesen ...

H3llGhost

Mitglied
Hallo Leute,

ich habe vor eine Datei auszulesen und wollte die ausgelesenen Sachen gleich in ein Array packen, aber vorerst mal zur Dateistruktur:

Code:
[1]
*Hans Muster (Name)
*200,23 (Geld)
*1234 (PW)
[2]
*Peter Hans
*124,12
*5678
[3]
...

Nur soll er ein Array wie folgt erstellen oder ähnliches ... (Ich weiß nicht da was am Besten ist)

Array(
1 => Array("Name", 123.12, "1234"),
2 => Array("Name2", 12.12, "5678");
)

Versteht ihr was ich vorhabe?
 
Hast du es denn schonmal geschafft die Datei zeilenweise einzulesen und wieder auf der Konsole auszugeben?
 
Also am betsen ließt du die Datei erstmal mit einem File Reader ein
Das sollte am besten mal so aussehen:
Code:
BufferedReader in = new BufferedReader(new FileReader("inhalt.txt"));
Um dann jede Zeile bis zum Ende einzulesen eignet sich am betsen eine While Schleife
 
So könntest du das z.B. lösen:

PHP:
package de.tutorials;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.util.Scanner;
import java.util.Vector;

/**
 * @author Viktor Koop
 */
public class MyFileParser {
	/**
	 * Die Methode dient zum Parsen einer Datei mit der folgender Form:
	 * 	[1]
	 *	*Hans Muster
	 *	*200,23
	 *	*1234
	 * 	[2]
	 *	*Peter Hans
	 *	*124,12
	 *	*5678
	 * 
	 * @param fileurl die URL zur Datei, die geparst werden soll.
	 * @return Gibt einen Vector, der die geparsten Personen enthält, zurück.
	 */
	public static Vector<Person> parseFile(String fileurl){
		Vector<Person>returnVec = new Vector<Person>();
		try {
			FileInputStream fis = new FileInputStream(fileurl);
			Scanner scanner = new Scanner(fis);
			double geldbetrag = 0;
			String name ="";
			String pw = "";
			String tmp ="";
			while(scanner.hasNextLine()){
				scanner.nextLine();
				name = scanner.nextLine().substring(1);
				tmp = scanner.nextLine().substring(1).replace(",", ".");
				geldbetrag = new Double(tmp);
				pw  = scanner.nextLine().substring(1);
				returnVec.add(new Person(name,geldbetrag,pw));
			}
		} catch (FileNotFoundException e) {
			//TODO
		}
		return returnVec;
	}
}

/**
 * @author Viktor Koop
 */
class Person{
	private String name;
	private double geldbetrag;
	private String password;
	
	public Person (String name, double geldbetrag, String password){
		this.name = name;
		this.geldbetrag = geldbetrag;
		this.password = password;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public double getGeldbetrag() {
		return geldbetrag;
	}

	public void setGeldbetrag(double geldbetrag) {
		this.geldbetrag = geldbetrag;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}
}
 
Zurück