Ukladanie do súboru + čítanie zo súboru + mazanie prvkov a pod – Java – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Ukladanie do súboru + čítanie zo súboru + mazanie prvkov a pod – Java – Fórum – Programujte.comUkladanie do súboru + čítanie zo súboru + mazanie prvkov a pod – Java – Fórum – Programujte.com

 

angela
~ Anonymní uživatel
7 příspěvků
8. 4. 2014   #1
-
0
-

Dobrý večer,
mám program, ktorý číta údaje oblečenia - zoznam zo súboru a chcem aby bolo možné pridať prvok do zoznamu, taktiež niektorý zmazať, vypísať len niektoré a pod., potom znova vypísať už aktualizovaný zoznam takže zmeny by sa mali zapísať aj v súbore.

Problém ale je, že ak stlačím 'p' tak mi to údaje v súbore vymaže a uloží tam len nový ručne pridaný záznam. Ak však stlačím hocičo iné ako 'p' tak to nespraví nič, tým pádom ani nezmaže záznam v súbore. Čo s tým? Tiež by som chcela aby sa prvky pridávali normálne a nie ručne cez kód, ale tiež neviem ako nato, neviem zavolať korektne metódu/y.

Obrovská vďaka všetkým za ochotu!

Prikladám aj zdrojové kódy:

 Oblecenie

package projekt;

class Oblecenie {
	private String nazov, farba, velkost;
	double nakupcena;
	double predajcena;
	int ks;
	private String dodavatel;

	public Oblecenie(String nazov, String farba, String velkost,
			double nakupcena, double predajcena, int ks, String dodavatel) {
		this.nazov = nazov;
		this.farba = farba;
		this.velkost = velkost;
		this.nakupcena = nakupcena;
		this.predajcena = predajcena;
		this.ks = ks;
		this.dodavatel = dodavatel;
	}

	public Oblecenie(double nakupcena, double predajcena, int ks) {
		this("Názov: ", "Farba: ", "Veľkosť: ", nakupcena, predajcena, ks,
				"Dodávateľ: ");
	};

	public void setNazov(String nazov) {
		this.nazov = nazov;
	}

	public void setFarba(String farba) {
		this.farba = farba;
	}

	public void setVelkost(String velkost) {
		this.velkost = velkost;
	}

	public void setDodavatel(String dodavatel) {
		this.dodavatel = dodavatel;
	}

	public void setNakupCena(int nakupcena) {
		this.nakupcena = nakupcena;
	}

	public void setPredajCena(int predajcena) {
		this.predajcena = predajcena;
	}

	public void setKs(int ks) {
		this.ks = ks;
	}

	public String getNazov() {
		return nazov;
	}

	public String getFarba() {
		return farba;
	}

	public String getVelkost() {
		return velkost;
	}

	public String getDodavatel() {
		return dodavatel;
	}

	public double getNakupCena() {
		return nakupcena;
	}

	public double getPredajCena() {
		return predajcena;
	}

	public int getKs() {
		return ks;
	}

}

Obchod 

package projekt;

import java.util.*;
import java.io.*;

class Obchod {
	private ArrayList<Oblecenie> obchod;

	public Obchod() {
		obchod = new ArrayList<Oblecenie>();
	}

	public void vlozOdev(Oblecenie oblecenie) {
		obchod.add(oblecenie);
	}

	public void vlozOblecenie(Oblecenie[] oblecenie) {
		for (Oblecenie o : oblecenie)
			obchod.add(o);
	}

	public void zmazOblecenie(int index) {
		obchod.remove(index);
	}

	public void zmazOblecenie(Oblecenie oblecenie) {
		obchod.remove(oblecenie);
	}

	public Oblecenie getOblecenie(int index) {
		return obchod.get(index);
	}

	public void zapisDoSuboru(String nazovSuboru) {
		try {
			PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter(
					nazovSuboru)));
			for (Oblecenie oblecenie : obchod) {
				pw.println(oblecenie.getNazov());
				pw.println(oblecenie.getFarba());
				pw.println(oblecenie.getVelkost());
				pw.println(oblecenie.getNakupCena());
				pw.println(oblecenie.getPredajCena());
				pw.println(oblecenie.getKs());
				pw.println(oblecenie.getDodavatel());
				pw.println();
				pw.flush();
			}
			pw.close();
		} catch (IOException ioe) {
			System.err.println(ioe);
		}
	}

	public static void main(String[] arg) {
		try {
			BufferedReader in = new BufferedReader(new FileReader(
					"oblecenie.txt"));
			String str;
			while ((str = in.readLine()) != null) {
				System.out.println(str);
			}
			in.close();
		} catch (IOException e) {
			System.out.println("Chyba pri spracovaní súboru.");
		}
		
		System.out.println("Stlačte p pre pridanie tovaru do zoznamu.");
		@SuppressWarnings("resource")
		Scanner sc = new Scanner(System.in);
		char c = sc.nextLine().charAt(0);
		if (c == 'p') {
			Obchod o = new Obchod();
			Oblecenie obl[] = {
					new Oblecenie("bla", "blabla", "blablabla", 8.99, 11.05, 5, "blablablabla")
					};
			o.vlozOblecenie(obl);
			o.zapisDoSuboru("oblecenie.txt");
		}
	}
}
Nahlásit jako SPAM
IP: 147.175.180.–
lupajz
~ Anonymní uživatel
8 příspěvků
9. 4. 2014   #2
-
0
-

#1 angela
41. riadok 

PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter(
                    nazovSuboru,true)));

Nahlásit jako SPAM
IP: 158.193.102.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 33 hostů

Podobná vlákna

Čítanie zo súboru — založil Filip

Čítanie zo súboru — založil Andrej

Citanie suboru — založil Peter125

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý