在java中删除文件和重命名文件

时间:2015-04-10 11:41:25

标签: java

我正在尝试使用此代码替换字段,并且在替换完成后我想删除该文件。但是当我更换文件时只保存了1行。我该如何确保保存其他线路?

public static void main(String[] args){
    AddChips();
}
public static void AddChips() {
      File oldFile = new File ("players.dat");
      File newFile = new File ("tempchips.dat");

      BufferedReader br = null;
      BufferedWriter bw = null;

      ArrayList<String> player = new ArrayList<String>();
      try {
         br = new BufferedReader(new FileReader(oldFile));
         bw = new BufferedWriter(new FileWriter(newFile));
         String line;
         Scanner read = new Scanner(System.in);
         System.out.println("Please Enter Username");
         String UserN = read.nextLine();
         System.out.println("Please Enter Chips to Add");
         String UserCadd = read.nextLine();

         while ((line = br.readLine()) != null) {
                String[] details = line.split("\\|");
                String Username = details[0];
                String Password = details[1];
                String Chips = details[2];
                int totalChips = (Integer.parseInt(UserCadd)+ Integer.parseInt(Chips));
            if (Username.equals(UserN)){
               line = Username + "|" + Password + "|" + totalChips;
               bw.write(line + System.getProperty("line.separator"));
            }
                    //issue is here
                    br.close();
                    bw.close();
                    oldFile.delete();
                    newFile.renameTo(oldFile);
                    //AdminMenu();
         } 
      } catch (Exception e) {
         return;
      } finally {
         try {
            if(br != null)
               br.close();
         } catch (IOException e) {
            //
         }
         try {
            if(bw != null)
               bw.close();
         } catch (IOException e) {
            //
         }
      }
}

0 个答案:

没有答案