2011-07-26 4 views
2

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

И это работает! .. но я хочу вставить дату создания на нижнем колонтитуле файла, то есть метод file.exists().

Если существует не вставить дату, и если не существует вставить дату ..

Мой код это ..

File idea=new File(dir,titulo+".txt"); 
      FileWriter writer=new FileWriter(idea); 
      if (!(idea.exists())){ 
       texto.append("\n\n\tCreada :"+new Fecha().toString()); 
      } 

Предположив, что реж мой путь ..

File dir =new File(Environment.getExternalStorageDirectory(),"/CMI"); 

и titulo - это параметр, который метод получает при вызове .. и содержит имя файла.

(Fecha это моя дата класс, который возвращает дату в виде строки)

+0

'если (! Idea.exists())' без скобок, которые окружают заявление –

+1

рассмотреть добавление Java тег на этот вопрос .. это относится к Java полностью. и вы получите удовлетворительные ответы. – ngesh

ответ

5
File idea=new File(dir,titulo+".txt"); 
if (!idea.exists()){ 
    FileWriter writer = new FileWriter(idea); 
    texto.append("\n\n\tCreada :" + new Fecha().toString()); 
    return; 
} 

Попробуйте приведенный выше код. Если вы скажете FileWriter writer = new FileWriter(idea);, он создает новый файл, если он не существует. Таким образом, метод exist() не имеет никакого значения и всегда возвращает true.

2

вы можете просто формировать код

File idea = new File(dir, titulo + ".txt"); 

if (idea.exists()){ 
    //do nothing 
} 
else { 
    FileWriter writer=new FileWriter(idea); 
    texto.append("\n\n\tCreada :" + new Fecha().toString()); 
} 
+0

Да, это решение требует большего кода, переключая код, так как ntc сказал сработал. Спасибо :) – rafuru

+2

, даже если это больше кода, лучше рассмотреть всегда инструкцию else, даже если он пуст, просто прокомментируйте, почему он пуст (используя @ntc answer) – jmsalcido

+0

ну, я просто попытался дать ему ключ, а не t он весь ответ .. и если у него есть оператор return, почему вам нужно заявление else, чтобы ничего не делать. он просто делает его более читаемым и не меняет свою реализацию. – ngesh

Смежные вопросы