0

所以现在我正在为一款名为 Minecraft 的游戏制作“朋友”系统。问题是当你重新启动时,你没有朋友!无论如何,它都会创建一个新文件,而不是读取前一个文件。这是我的代码:

public static boolean friends = true;
public static List friend = new ArrayList();


public static void friendsList(){
    if(friends){
        try{
            File file = new File("friends.txt");
            BufferedWriter bufferedwriter = new BufferedWriter(new FileWriter(file));
            for(int i = 0; i < friend.size(); i++){
                bufferedwriter.write((new StringBuilder()).append((String) friend.get(i)).append("\r\n").toString());
            }
            bufferedwriter.close();
        }
        catch(Exception exception){
            System.err.print(exception.toString());
        }
    }
}

我不知道这是否很重要,但这是添加朋友的方法(par1Str 是您发送聊天消息时输入的字符串):

if(par1Str.startsWith("&friendadd")){
        Camb.friends = true;
        String as0[] = par1Str.split(" ");
        Camb.friend.add(as0[1]);
        mc.thePlayer.addChatMessage("\2479[CAMB]\247e Added Friend.");
        Camb.friendsList();
        Camb.friends = false;
        return;
    }

如果文件已经存在,我将如何做到这一点,它将从中加载而不是覆盖它?

谢谢

4

2 回答 2

0

检查文件是否已经存在非常容易。

File f = new File("friends.txt");

if(f.exists()){
    System.out.println("File exists"); 
    //Append to the end
} else{
    System.out.println("File not found!");
}
于 2013-09-09T00:48:34.943 回答
0

您将需要在某些时候阅读包含朋友列表的文件。然后,您可以设置一个标志以避免再次将其写出。

于 2013-09-09T00:45:01.297 回答