Je veux stocker des données dans un fichier binaire et il devrait générer les dossiers s'il n'existe pas, ce n'est pas le cas mais il semble que j'appelle cela Si le fichier n'existe pas, il devrait le générer.Utiliser un chemin relatif pour enregistrer mon fichier binaire ne trouve pas le chemin
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");
}
Cependant, il génère l'erreur suivante
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)
Je ne produis pas les fichiers soit, ce qui est un peu déroutant.
Les chemins relatifs à '.' - le« répertoire de travail actuel »- ne sont pas recommandés car ils dépendent du point de départ (IDE, chauve-souris, double-clic). Utilisez 'System.getProperty (" user.home ") +"/... "' ou autre. –
@JoopEggen Je pense que je vais utiliser juste cela, mais si je l'exporte en tant que jarre exécutable ne va pas simplement générer les dossiers où je mets le pot? Il semble plus facile à utiliser de cette façon. –
Oui, quand ils double-cliquez simplement sur le pot. Peut-être que je suis opiniâtre. Ma pratique consiste à inviter les utilisateurs et ainsi de suite. –