2013-11-02 25 views
0

Я создаю проект java для своей школы, но теперь я застрял здесь.пишите в txt файл java

Я хочу создать программу, которая создает .txt-файл и записывать в него свой ввод с клавиатуры. Но до этого он проверяет, существует ли этот файл уже. Таким образом, программа не будет создавать новый файл с тем же именем, но он добавит этот вход для ранее вставленных данных.

В некоторых словах каждый раз, когда я запускаю эту программу, он может добавлять информацию в этот .txt-файл. В настоящий момент все работает нормально, но кроме проверки того, существует ли этот файл уже. Я попытался добавить exists(); но безуспешно.

Я нахожусь на этом, поэтому, пожалуйста, дайте мне совет не для всех решений :) Заранее спасибо!

код

private Formatter output; //object 

     public static String user_name() { 
      String user_name=System.getProperty("user.name"); 
       return user_name; 
      }; 


      public void openFile(){ 
       try { 
        output = new Formatter(user_name()+".txt");  //here I tried to add exists() method to check if the file exists already. but it responded //with undefined method error.  
        } 


       catch (SecurityException securityException) 
       { 
        System.err.println("Jums nav atļauja rediģēt šo failu"); 
        System.exit(1); //izejama no programmas 
       } 
       catch (FileNotFoundException fileNotFoundException) 
       { 
        System.err.print("Kļūda atverot failu"); 
        System.exit(1); //izejama no programmas 
       } 
      } 
+1

Я не могу увидеть ту часть, которая записывает в файл в вашем коде, но и проверить, если файл или папка существует необходимо использовать объект File, который имеет существует метод –

+0

@Richard покалывания Как именно я может конвертировать из Formatter в файл? Спасибо – Edgars

+1

См. Ответ sumitb, который решает это. Является ли эта программа для Windows или для всех систем (всегда лучше), если все syatems опасаются, что «/» - это только разделитель папок в окнах –

ответ

2

Используйте объект File для выполнения этой задачи.

File f = new File("YourPathHere"); 

После того, как у вас есть этот файл объект, который вы можете использовать, существует функция, чтобы проверить, существует ли файл или нет

f.exists() //returns true if mentioned file exists else return false 

После этого, если вы хотите добавить содержимое в существующий файл (технически называется append), вы можете указать объекту FileWriter создать поток в файл в режиме добавления.

output = new BufferedWriter(new FileWriter(yourFileName, true)); //second argument true state that file should be opened in append mode 
+0

Большое спасибо, последняя строка вашего кода спасла мой день :) – Edgars