-1
私はcsvで何が間違っているのか尋ねたいと思います。 ユーザー設定が「設定」されていて、CSVファイルに「取得」したいのですが、それでも機能しません。ユーザーは、彼の入力を取る私の方法である。それはクラスである「auswahlMenue」私はCSVの入力に間違っています
public void transaktionslisteEinlesen() throws TransaktionIOException{
System.out.println("Transaktionsliste einlesen");
// Einlesen von lokalen Attributen
String beschreibungstext = MeineEingabe.erfasseString("Beschreibungstext: ");
double betrag = MeineEingabe.erfasseDouble("Betrag:");
LocalDateTime localdatetime = LocalDateTime.now();
String transaktionsart = MeineEingabe.erfasseString("Transaktionsart:");
String iban = ibangen.generate();
/*
* Abspreichern der lokalen Attributen in den Konstruktor der Klasse
* Transaktion
*/
Transaktion transaktion = new Transaktion();
transaktion.setIban(iban);
transaktion.setBeschreibungstext(beschreibungstext);
transaktion.setBetrag(betrag);
transaktion.setTart(transaktionsart);
transaktion.setZeitStempel(localdatetime);
TransaktionCsv transCSV = new TransaktionCsv();
transCSV.schreibTransaktionZeilenweiseRaus("transaktion" konto.getTransaktionListe());
konto.addTransaktion(transaktion);
System.out.println("\nTransaktionsliste wurde eingelesen!");
}
これは私が呼び出すメソッドです 。私は自分のプロジェクトからファイルを調べて確認します。
public void schreibTransaktionZeilenweiseRaus(String dateiname, ArrayList<Transaktion> transaktion) throws TransaktionIOException
{
File datei = new File(dateiname);
try {
BufferedWriter out = new BufferedWriter(new FileWriter(datei));
for (Transaktion transaktion1 : transaktion) {
out.write(transaktion1.getIban() + ";" +transaktion1.getZeitStempel() + ";" +transaktion1.getTart() + ";" + transaktion1.getBeschreibungstext() + ";" + transaktion1.getBetrag() + ";\n");
}
out.close();
} catch (FileNotFoundException e) {
throw new TransaktionIOException("Datei existiert nicht.");
} catch (IOException e) {
throw new TransaktionIOException("Datei kann nicht geschrieben werden.");
}
}
このメソッドは、TransaktionをLine-wiseで読み取ります。 CSVファイル内
public ArrayList<String> liesTransaktionZeilenweiseEin(String dateiname) throws TransaktionIOException
{
ArrayList<String> zeilen = new ArrayList<String>();
File datei = new File(dateiname);
try {
BufferedReader in = new BufferedReader(new FileReader(datei));
String zeile = null;
while ((zeile = in.readLine()) != null) {
zeilen.add(zeile);
}
in.close();
} catch (FileNotFoundException e) {
throw new TransaktionIOException("Datei existiert nicht.");
} catch (IOException e) {
throw new TransaktionIOException("Datei kann nicht gelesen werden.");
}
return zeilen;
}
最後の検索Transaktion
public ArrayList<Transaktion> ermittleTransaktionAusCsv(ArrayList<String> zeilen) throws TransaktionCsvFormatException {
ArrayList<Transaktion> transaktion = new ArrayList<Transaktion>();
for (String zeile : zeilen) {
String[] bestandteile = zeile.split(";");
String iban = bestandteile[0];
LocalDateTime zeitstempel;
String transart = bestandteile[2];
String beschreibung = bestandteile[3];
double betrag = 0.0;
try {
zeitstempel = LocalDateTime.parse(bestandteile[1]);
betrag = Double.parseDouble(bestandteile[4]);
} catch (NumberFormatException e) {
throw new TransaktionCsvFormatException();
}
transaktion.add(new Transaktion(iban,zeitstempel,transart,beschreibung,betrag));
}
return transaktion;
}
私はあなたが私を助けることを願って、私は私がそう多くのコードを投稿することを申し訳ありません。私は本当に混乱しているので、あまりにも多く投稿します。
よろしく グリーンティ
、あなたはコードの大きな壁があり、それは「動作しませんか」?それはあまりにも曖昧です。達成したいこと、達成するために実行しているコード、期待すること、代わりに実行するコードを教えてください。正確に。誰にでも読めるように英語でコードを書いてください。 –