Ich möchte Daten in einer Binärdatei speichern und es sollte die Ordner generieren, wenn es nicht existiert, das ist nicht der Fall, aber es scheint, ich rufe das an Wenn die Datei nicht existiert, sollte sie erzeugt werden.Verwendung eines relativen Pfades zum Speichern meiner Binärdatei kann den Pfad nicht finden
public Account(int accountid, String name, String lastname, double balance, AccountState state) {
this.name = name;
this.lastname = lastname;
this.accountID = accountid;
this.balance = balance;
this.state = state;
try {
accountfile = new File("./Clients/" + lastname + "/" + name + "/" + "BalanceInfo " + accountid + ".ACC");
if(!accountfile.exists()) {
accountfile.createNewFile();
}
fos = new FileOutputStream(accountfile);
oos = new ObjectOutputStream(fos);
oos.writeObject("balance: " + balance);
oos.writeObject("state: " + state.toString().toLowerCase());
} catch(IOException e) {
System.out.println(e.getMessage());
e.printStackTrace();
}
System.out.println("Account sucessfully Created");
}
Es ist jedoch den folgenden Fehler
The system cannot find the path specified
Account sucessfully Created
java.io.IOException: The system cannot find the path specified
at java.io.WinNTFileSystem.createFileExclusively(Native Method)
at java.io.File.createNewFile(Unknown Source)
at dinges.Account.<init>(Account.java:44)
at dinges.Main.main(Main.java:10)
ich erzeugen die Dateien nicht entweder, was etwas verwirrend ist.
Relative Pfade zu '.' - dem" aktuellen Arbeitsverzeichnis "- ist nicht zu empfehlen, da es vom Startpunkt abhängt (IDE, Fledermaus, Doppelklick). Verwenden Sie 'System.getProperty (" user.home ") +"/... "' oder so. –
@JoopEggen Ich denke, dass ich nur das verwenden werde, aber wenn ich es als lauffähiges Glas exportiere, wird es nicht nur die Ordner erzeugen, in die ich das Glas gelegt habe? Es scheint einfacher zu sein, so zu arbeiten. –
Ja, wenn sie einfach das Glas doppelklicken. Vielleicht bin ich eigensinnig. Meine Praxis besteht darin, Benutzer und so weiter zu bitten. –