2015-08-29 2 views
0

У меня есть этот код:Создание нескольких файлов

try { 

    File file = new File(something+counter+".txt"); 

    counter++; 

    if (!file.exists()) { 
     file.createNewFile(); 
    } 

    FileWriter fw = new FileWriter(file.getAbsoluteFile()); 
    BufferedWriter bw = new BufferedWriter(fw); 
    bw.write(content); 
    bw.close(); 

} catch (IOException e) { 
    e.printStackTrace(); 
} 

мне нужно сделать это следующим образом: при нажатии клавиши ввода, новый файл будет создан в определенном месте (я сделал JTextField для этого), но когда они нажмите его еще раз, файл OVERWRITES. Это проблема. Мне нужно, чтобы они нажимали enter - создавали новый файл: sample1.txt, снова нажимали Enter, создавали новый файл: sample2.txt

+0

Можете ли вы напечатать файл.getAbsoluteFile()? Он равен чему-то + counter + ". Txt"? –

ответ

1

OK, посмотрев на ваш код сейчас, это выглядит хорошо, но вы, вероятно, объявили переменную счетчика внутри метод. Если это так, он будет «перезагружен» независимо от того, что вы его устанавливаете, каждый раз, когда вызывается метод.

EDIT:

Это должно работать.

import java.io.*; 
public class Example { 
    public static void main(String args[]) { 
     Example ex = new Example(); 
     ex.writeFile(); 
     ex.writeFile(); 
    } 

    private void writeFile() { 
     try { 
      File file = new File("file" + counter + ".txt"); 

      counter++; 
      System.out.println("Writing to " + file.toString()); 

      if (!file.exists()) { 
       file.createNewFile(); 
      } 

      FileWriter fw = new FileWriter(file.getAbsoluteFile()); 
      BufferedWriter bw = new BufferedWriter(fw); 
      bw.write("content"); 
      bw.close(); 

     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
    } 
    private int counter = 0; 
} 

я

Записи в File0.txt

Записи в FILE1.TXT

в качестве вывода, и оба файла имеет строку 'содержание' написанное в них.

EDIT2:

вызова WriteFile всякий раз, когда пользователь нажимает клавишу ввода.

+0

Он перезаписывает, я не хочу, чтобы это ... Это проблема. Как его решить? –