Erste Schritte datei schreiben

kill_dmp

Aktives Mitglied
hi all
ich nutze das tut von Java Tutorial 47 - In Dateien schreiben - YouTube

mir stellt sich jetzt nur die frage was wäre eine saubere art eine datei zu schreiben?
und die 2te frage gibt es einen einfacheren weg dateien zu schreiben?

in meinen programm soll personal als ganzes gespeichern
so das ich alles nutzten kann was erstellt worde
Java:
package Arbeitsmarkt;
import java.awt.BorderLayout;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Formatter;
import java.util.List;
import java.util.Random;
import javax.swing.DefaultComboBoxModel;

import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JTable;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.JTextPane;
import javax.swing.ListModel;

import javax.swing.WindowConstants;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import javax.swing.event.TableColumnModelEvent;
import javax.swing.event.TableColumnModelListener;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;
import javax.swing.SwingUtilities;


/**
* This code was edited or generated using CloudGarden's Jigloo
* SWT/Swing GUI Builder, which is free for non-commercial
* use. If Jigloo is being used commercially (ie, by a corporation,
* company or business for any purpose whatever) then you
* should purchase a license for each developer using Jigloo.
* Please visit [url=http://www.cloudgarden.com]Cloud Garden (Java Resources)[/url] for details.
* Use of Jigloo implies acceptance of these licensing terms.
* A COMMERCIAL LICENSE HAS NOT BEEN PURCHASED FOR
* THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED
* LEGALLY FOR ANY CORPORATE OR COMMERCIAL PURPOSE.
*/
public class Main extends javax.swing.JFrame {
	Random zufall = new Random();
	private JButton kaufenButton;
	private JButton börsenspekulantButton;
	private JButton killerButton;
	private JButton sprenstoffexperteButton;
	private JLabel kaufBestätigung;
	private JPanel nummernPanel;
	private JTextArea nummerarea;
	private JTextArea gehaltArea;
	private JTextArea rangArea;
	private JTextArea klasseArea;
	private JTextArea nameArea;
	private JButton tresorknakerButton;
	private JButton trainerButton;
	private JButton instandhalterButton;
	private JButton schlägerButton;
	private JButton zuhälterbutton;
	private JButton fahrerButton;
	private JButton einbrecherButton;
	private JButton gangsterButton;
	private JButton nuttenButon;
	private JList mitarbeiteBestand;
	private JPanel gehaltPanel;
	private JPanel klassenPanel;
	private JPanel rangPanel;
	private JPanel NamePanel;
	private JList kaufenListe;
	private int auswahlzahl;

	/**
	* Auto-generated main method to display this JFrame
	*/
	public static void main(String[] args) {
		SwingUtilities.invokeLater(new Runnable() {
			public void run() {
				Main inst = new Main();
				inst.setLocationRelativeTo(null);
				inst.setVisible(true);

			}
		});
	}
	
	public Main() {
		super();
		initGUI();
	}
	
	private void initGUI() {
		try {
			setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
			getContentPane().setLayout(null);
			{
				kaufenButton = new JButton();
				getContentPane().add(kaufenButton, "Center");
				kaufenButton.setText("Kaufen");
				kaufenButton.setBounds(321, 361, 156, 123);
			}
			Personal[] angebot = new Personal[20];
			for (int i=0;i<angebot.length;i++){
				angebot[i]= new Personal();
				if (angebot[i].getGehalt()<100){
					angebot[i] = new Personal();
				}
			}
			{
				ListModel mitarbeiteBestandModel = 
						new DefaultComboBoxModel(
								new String[] { "Item One", "Item Two" });
				mitarbeiteBestand = new JList();
				getContentPane().add(mitarbeiteBestand);
				mitarbeiteBestand.setModel(mitarbeiteBestandModel);
				mitarbeiteBestand.setBounds(0, 112, 244, 372);
			}
			{
				nuttenButon = new JButton();
				getContentPane().add(nuttenButon);
				nuttenButon.setText("Nutten");
				nuttenButon.setBounds(0, 0, 85, 23);
			}
			{
				gangsterButton = new JButton();
				getContentPane().add(gangsterButton);
				gangsterButton.setText("Gangster");
				gangsterButton.setBounds(85, 28, 99, 23);
			}
			{
				einbrecherButton = new JButton();
				getContentPane().add(einbrecherButton);
				einbrecherButton.setText("Einbrecher");
				einbrecherButton.setBounds(85, 0, 99, 23);
			}
			{
				fahrerButton = new JButton();
				getContentPane().add(fahrerButton);
				fahrerButton.setText("Fahrer");
				fahrerButton.setBounds(0, 56, 85, 23);
			}
			{
				zuhälterbutton = new JButton();
				getContentPane().add(zuhälterbutton);
				zuhälterbutton.setText("Zuhälter");
				zuhälterbutton.setBounds(0, 28, 85, 23);
			}
			{
				schlägerButton = new JButton();
				getContentPane().add(schlägerButton);
				schlägerButton.setText("Schläger");
				schlägerButton.setBounds(85, 84, 99, 23);
			}
			{
				instandhalterButton = new JButton();
				getContentPane().add(instandhalterButton);
				instandhalterButton.setText("Instandhalter");
				instandhalterButton.setBounds(184, 28, 138, 23);
			}
			{
				trainerButton = new JButton();
				getContentPane().add(trainerButton);
				trainerButton.setText("Trainer");
				trainerButton.setBounds(85, 56, 99, 23);
			}
			{
				tresorknakerButton = new JButton();
				getContentPane().add(tresorknakerButton);
				tresorknakerButton.setText("Tresorknaker");
				tresorknakerButton.setBounds(184, 84, 138, 23);
			}
			{
				sprenstoffexperteButton = new JButton();
				getContentPane().add(sprenstoffexperteButton);
				sprenstoffexperteButton.setText("Sprenstoffexperte");
				sprenstoffexperteButton.setBounds(184, 0, 138, 23);
			}
			{
				killerButton = new JButton();
				getContentPane().add(killerButton);
				killerButton.setText("Killer");
				killerButton.setBounds(0, 84, 85, 23);
			}
			{
				börsenspekulantButton = new JButton();
				getContentPane().add(börsenspekulantButton);
				börsenspekulantButton.setText("Börsenspekulant");
				börsenspekulantButton.setBounds(184, 56, 138, 23);
			}
			{
				ListModel kaufenListeModel = 
						new DefaultComboBoxModel(
								new String[] { "Kaufen No.1", "Kaufen No.2","Kaufen No.3","Kaufen No.4","Kaufen No.5","Kaufen No.6","Kaufen No.7","Kaufen No.8","Kaufen No.9","Kaufen No.10","Kaufen No.11","Kaufen No.12","Kaufen No.13","Kaufen No.14","Kaufen No.15","Kaufen No.16","Kaufen No.17","Kaufen No.18","Kaufen No.19","Kaufen No.20", });
				kaufenListe = new JList();
				getContentPane().add(kaufenListe);
				kaufenListe.setOpaque(false);
				kaufenListe.setModel(kaufenListeModel);
				kaufenListe.setBounds(322, 2, 81, 359);
				kaufenListe.addListSelectionListener(new AuswahlKaufenListe());
			}
			{
				NamePanel = new JPanel();
				getContentPane().add(NamePanel);
				NamePanel.setBounds(446, 1, 88, 382);
				{
					nameArea = new JTextArea();
					NamePanel.add(nameArea);
					nameArea.setText("Name"+"\n"+"\n"+angebot[0].vorName[zufall.nextInt(20)]+"\n"+angebot[1].vorName[zufall.nextInt(20)]+"\n"+angebot[2].vorName[zufall.nextInt(20)]+"\n"+angebot[3].vorName[zufall.nextInt(20)]+"\n"+angebot[4].vorName[zufall.nextInt(20)]+"\n"+angebot[5].vorName[zufall.nextInt(20)]+"\n"+angebot[6].vorName[zufall.nextInt(20)]+"\n"+angebot[7].vorName[zufall.nextInt(20)]+"\n"+angebot[8].vorName[zufall.nextInt(20)]+"\n"+angebot[9].vorName[zufall.nextInt(20)]+"\n"+angebot[10].vorName[zufall.nextInt(20)]+"\n"+angebot[11].vorName[zufall.nextInt(20)]+"\n"+angebot[12].vorName[zufall.nextInt(20)]+"\n"+angebot[13].vorName[zufall.nextInt(20)]+"\n"+angebot[14].vorName[zufall.nextInt(20)]+"\n"+angebot[15].vorName[zufall.nextInt(20)]+"\n"+angebot[16].vorName[zufall.nextInt(20)]+"\n"+angebot[17].vorName[zufall.nextInt(20)]+"\n"+angebot[18].vorName[zufall.nextInt(20)]+"\n"+angebot[19].vorName[zufall.nextInt(20)]);
					nameArea.setOpaque(false);
					nameArea.setEditable(false);
					nameArea.setPreferredSize(new java.awt.Dimension(70, 357));
				}
			}
			{
				rangPanel = new JPanel();
				getContentPane().add(rangPanel);
				rangPanel.setBounds(530, 0, 78, 383);
				{
					klasseArea = new JTextArea();
					rangPanel.add(klasseArea);
					klasseArea.setText("Klasse"+"\n"+"\n"+angebot[0].Berufsbezeischung[zufall.nextInt(11)]+"\n"+angebot[1].Berufsbezeischung[zufall.nextInt(11)]+"\n"+angebot[2].Berufsbezeischung[zufall.nextInt(11)]+"\n"+angebot[3].Berufsbezeischung[zufall.nextInt(11)]+"\n"+angebot[4].Berufsbezeischung[zufall.nextInt(11)]+"\n"+angebot[5].Berufsbezeischung[zufall.nextInt(11)]+"\n"+angebot[6].Berufsbezeischung[zufall.nextInt(11)]+"\n"+angebot[7].Berufsbezeischung[zufall.nextInt(11)]+"\n"+angebot[8].Berufsbezeischung[zufall.nextInt(11)]+"\n"+angebot[9].Berufsbezeischung[zufall.nextInt(11)]+"\n"+angebot[10].Berufsbezeischung[zufall.nextInt(11)]+"\n"+angebot[11].Berufsbezeischung[zufall.nextInt(11)]+"\n"+angebot[12].Berufsbezeischung[zufall.nextInt(11)]+"\n"+angebot[13].Berufsbezeischung[zufall.nextInt(11)]+"\n"+angebot[14].Berufsbezeischung[zufall.nextInt(11)]+"\n"+angebot[15].Berufsbezeischung[zufall.nextInt(11)]+"\n"+angebot[16].Berufsbezeischung[zufall.nextInt(11)]+"\n"+angebot[17].Berufsbezeischung[zufall.nextInt(11)]+"\n"+angebot[18].Berufsbezeischung[zufall.nextInt(11)]+"\n"+angebot[19].Berufsbezeischung[zufall.nextInt(11)]+"\n");
					klasseArea.setOpaque(false);
					klasseArea.setEditable(false);
					klasseArea.setPreferredSize(new java.awt.Dimension(75, 360));
				}
			}
			{
				klassenPanel = new JPanel();
				getContentPane().add(klassenPanel);
				klassenPanel.setBounds(620, 0, 83, 377);
				{
					rangArea = new JTextArea();
					klassenPanel.add(rangArea);
					rangArea.setText("Rang"+"\n"+"\n"+angebot[0].Rang[zufall.nextInt(8)]+"\n"+angebot[1].Rang[zufall.nextInt(8)]+"\n"+angebot[2].Rang[zufall.nextInt(8)]+"\n"+angebot[3].Rang[zufall.nextInt(8)]+"\n"+angebot[4].Rang[zufall.nextInt(8)]+"\n"+angebot[5].Rang[zufall.nextInt(8)]+"\n"+angebot[5].Rang[zufall.nextInt(8)]+"\n"+angebot[7].Rang[zufall.nextInt(8)]+"\n"+angebot[8].Rang[zufall.nextInt(8)]+"\n"+angebot[9].Rang[zufall.nextInt(8)]+"\n"+angebot[10].Rang[zufall.nextInt(8)]+"\n"+angebot[11].Rang[zufall.nextInt(8)]+"\n"+angebot[12].Rang[zufall.nextInt(8)]+"\n"+angebot[13].Rang[zufall.nextInt(8)]+"\n"+angebot[14].Rang[zufall.nextInt(8)]+"\n"+angebot[15].Rang[zufall.nextInt(8)]+"\n"+angebot[16].Rang[zufall.nextInt(8)]+"\n"+angebot[17].Rang[zufall.nextInt(8)]+"\n"+angebot[18].Rang[zufall.nextInt(8)]+"\n"+angebot[19].Rang[zufall.nextInt(8)]);
					rangArea.setOpaque(false);
					rangArea.setEditable(false);
					rangArea.setPreferredSize(new java.awt.Dimension(79, 354));
				}
			}
			{
				gehaltPanel = new JPanel();
				getContentPane().add(gehaltPanel);
				gehaltPanel.setBounds(709, 2, 74, 379);
				{
					gehaltArea = new JTextArea();
					gehaltPanel.add(gehaltArea);
					gehaltArea.setText("Gehalt"+"\n"+"\n" +angebot[0].getGehalt()+"€"+"\n"+angebot[1].getGehalt()+"€"+"\n"+angebot[2].getGehalt()+"€"+"\n"+angebot[3].getGehalt()+"€"+"\n"+angebot[4].getGehalt()+"€"+"\n"+angebot[5].getGehalt()+"€"+"\n"+angebot[6].getGehalt()+"€"+"\n"+angebot[7].getGehalt()+"€"+"\n"+angebot[8].getGehalt()+"€"+"\n"+angebot[9].getGehalt()+"€"+"\n"+angebot[10].getGehalt()+"€"+"\n"+angebot[11].getGehalt()+"€"+"\n"+angebot[12].getGehalt()+"€"+"\n"+angebot[13].getGehalt()+"€"+"\n"+angebot[14].getGehalt()+"€"+"\n"+angebot[15].getGehalt()+"€"+"\n"+angebot[16].getGehalt()+"€"+"\n"+angebot[17].getGehalt()+"€"+"\n"+angebot[18].getGehalt()+"€"+"\n"+angebot[19].getGehalt()+"€"+"\n");
					gehaltArea.setOpaque(false);
					gehaltArea.setEditable(false);
					gehaltArea.setPreferredSize(new java.awt.Dimension(70, 352));
				}
			}
			{
				nummernPanel = new JPanel();
				getContentPane().add(nummernPanel);
				nummernPanel.setBounds(392, 0, 52, 361);
				{
					nummerarea = new JTextArea();
					nummernPanel.add(nummerarea);
					nummerarea.setText("   Nummer"+"\n"+"\n"+"   No.1"+"\n"+"   No.2"+"\n"+"   No.3"+"\n"+"   No.4"+"\n"+"   No.5"+"\n"+"   No.6"+"\n"+"   No.7"+"\n"+"   No.8"+"\n"+"   No.9"+"\n"+"   No.10"+"\n"+"   No.11"+"\n"+"   No.12"+"\n"+"   No.13"+"\n"+"   No.14"+"\n"+"   No.15"+"\n"+"   No.16"+"\n"+"   No.17"+"\n"+"   No.18"+"\n"+"   No.19"+"\n"+"   No.20"+"\n");
					nummerarea.setOpaque(false);
					nummerarea.setEditable(false);
					nummerarea.setBounds(244, 150, 60, 345);
					nummerarea.setPreferredSize(new java.awt.Dimension(46, 355));
				}
			}
			{
				kaufBestätigung = new JLabel();
				getContentPane().add(kaufBestätigung);
				
				kaufBestätigung.setBounds(321, 383, 210, 16);
				kaufBestätigung.setVisible(false);
			}
			pack();
			this.setSize(802, 522);
		} catch (Exception e) {
		    //add your error handling code here
			e.printStackTrace();
		}

			}
private class AuswahlKaufenListe implements ListSelectionListener{

	@Override
	public void valueChanged(ListSelectionEvent e) {
		auswahlzahl = kaufenListe.getSelectedIndex();
		kaufenButton.setBounds(321, 411, 156, 73);
		kaufBestätigung.setText("Willst du wirklich "+(kaufenListe.getSelectedIndex()+1)+ " kaufen");
		kaufBestätigung.setVisible(true);
		File eigeneMitarbeiter = new File("C://Users//Kill//workspace//Test1//bin//Arbeitsmarkt//eigeneMitarbeiter.txt");
		if (eigeneMitarbeiter.exists()){
			
		}else{
			try {
				Formatter dateiErstellen = new Formatter("C://Users//Kill//workspace//Test1//bin//Arbeitsmarkt//eigeneMitarbeiter.txt");
			} catch (FileNotFoundException e1) {
				// TODO Auto-generated catch block
				e1.printStackTrace();
			}
		}
		
		
	}
	
}


		
	
	

		
		
	}

Java:
import java.util.Random;

public class  Personal {
	Random zufall =new Random();
	private int fertigkeit1= zufall.nextInt(1000)+1;
	private int fertigkeit2= zufall.nextInt(1000)+1;
	private int fertigkeit3= zufall.nextInt(1000)+1;
	private int fertigkeit4= zufall.nextInt(1000)+1;
	private int fertigkeit5= zufall.nextInt(1000)+1;
	private int fertigkeit6= zufall.nextInt(1000)+1;
	private int schwirigkeitsgrad;
	private int aussehen= zufall.nextInt(10)+1;
	private boolean mannFrau;
	private int problem1= zufall.nextInt(800)+1;
	private int problem2= zufall.nextInt(800)+1;
	String[] vorName = {"Peter","Klaus","Wolfgang","Dieter","Frank","Horst","Werner","Uwe","Christian","Stefan","Günther","Jürgen","Andreas","Thomas","Michael","Kai","Tobias","David","Hans","Manfred","Bert"};
	String[] nachName ={"1","2"};
	String[] Berufsbezeischung ={"Nutte","Gangster","Einbrecher","Fahrer","Zuhälter","Schläger","Instandhalter","Trainer","Tresorknaker","Sprenstoffexperte","Killer","Börsenspekulant"};
	String[] Rang ={"Baby","Anfänger","Leihe","Mittelmaß","Profi","Meister","Spietzerlist","guru","Gottgleich"};
	private int gehalt = 2/problem2-problem1-fertigkeit1+fertigkeit2+fertigkeit3+fertigkeit4+fertigkeit5+fertigkeit6;
	public int getFertigkeit1() {
		return fertigkeit1;
	}
	public int getFertigkeit2() {
		return fertigkeit2;
	}
	public int getFertigkeit3() {
		return fertigkeit3;
	}
	public int getFertigkeit4() {
		return fertigkeit4;
	}
	public int getFertigkeit5() {
		return fertigkeit5;
	}
	public int getFertigkeit6() {
		return fertigkeit6;
	}
	public int getSchwirigkeitsgrad() {
		return schwirigkeitsgrad;
	}
	public int getAussehen() {
		return aussehen;
	}
	public boolean isMannFrau() {
		return mannFrau;
	}
	public int getProblem1() {
		return problem1;
	}
	public int getProblem2() {
		return problem2;
	}
	public void setSchwirigkeitsgrad(int schwirigkeitsgrad) {
		this.schwirigkeitsgrad = schwirigkeitsgrad;
	}
	public void setMannFrau(boolean mannFrau) {
		this.mannFrau = mannFrau;
	}
	public int getGehalt() {
		return gehalt;
	}
	


}
 
Was bei Kleinigkeiten eigentlich immer gut geht ist serialisieren, aber bedenke. Änderst du was an der Klasse (in die du castest beim Laden) klappts wohlmöglich nimmer.
 
[OT]Ich würde Umlaute in Variablennamen vermeiden.[/OT]
[OT]
Denglisch würd ich auch vermeiden 😀
Java:
public int getFertigkeit1() {
        return fertigkeit1;
    }
Damit kann man einen Transvestit setzen?
Java:
public void setMannFrau(boolean mannFrau) {
        this.mannFrau = mannFrau;
    }
[/OT]
 
[OT]wird immer wieder gesagt, aber ich sehe da mit dem "Denglisch" nicht so die Schwierigkeit. Set/Get sind z.B. Teile der Programiersprache, für Programierer kann man auch sagen, dass die zwei Begriffe auch inzwischen Teile von Deutsch sind.

Was würdest du vorschlagen soll man schreiben: kriegeFertigkeit? bekommeFertigkeit? ausleseFertigkeit?.... oder getAbility? getSkill?.... getFertigkeit bringts sofort auf den Punkt, man weiss sofort worum es geht und muss netmal drüber nachgrübeln, was man sich da gerade holt.

Ich z.B. schreibe viel für Ärzte, da gibts zig Veriablen und Methoden mit Fachbegriffen, die keine eindeutige Entsprechung im Englischen haben... schlimmer noch, hat man mit dem Programm paar Tage nichts zu tun, weiss man nicht mehr, was man sich da eigentlich gerade holt.

Ich wüsste jedenfalls nicht, wie ich vernünftig auf "Denglisch" verzichten könnte..... Arztüberweiser... viel Spaß beim finden eines treffenden, einprägsamen und einfachen Englischbegriffs... und das ist noch eines der einfacheren[/OT]
 

Zurück
Oben