我對Java編碼頗爲陌生,我試圖製作一個插件來創建一個字符模板。用戶將輸入命令/字符名稱。我希望它檢查命令發送者的文件是否存在,如果存在,它將在他們的.dat文件中的「Name:」字段下寫入。如果該文件不存在,那麼它將創建一個文件並寫入該字段。我遇到的唯一問題是創建和寫入和從文件讀取。有一次,我設法讓它創建用戶文件並寫下他們設置的名稱,但我無法再寫更多的內容,因爲它會在文件中寫入類似「Name:Gender」的愚蠢信息。我也不知道如何從文件中讀取以及它需要能夠獲得他們的設置名稱來改變頭頂的名稱標籤。如何讀取/寫入Java中的播放器文件(Bukkit)
這是我使用命令「/炭性別」的代碼示例:
if (label.equalsIgnoreCase("char gender")) {
if (args.length < 2) {
sender.sendMessage("/char gender <Male or Female>");
return false;
}
if (args.equals("male")) {
PrintWriter writer1;
try {
writer1 = new PrintWriter("plugins/Guildplate/PlayerData/" + sender.getName() + ".yml", "UTF-8");
writer1.println("Gender: Male");
writer1.close();
} catch (FileNotFoundException | UnsupportedEncodingException e) {
File file = new File("plugins/Guildplate/PlayerData/" + sender.getName() + ".yml");
}
}
else if (args.equals("female")) {
PrintWriter writer1;
try {
writer1 = new PrintWriter("plugins/Guildplate/PlayerData/" + sender.getName() + ".yml", "UTF-8");
writer1.println("Gender: Female");
writer1.close();
} catch (FileNotFoundException | UnsupportedEncodingException e) {
File file = new File("plugins/Guildplate/PlayerData/" + sender.getName() + ".yml");
}
}
else {
sender.sendMessage("/char gender <male or female>");
}
我使用的是.yml文件來測試它是否正常工作,因爲某些原因,它不會產生所述player.dat
你可以發佈一個堆棧跟蹤工作嗎? ? – TheJavaCoder16