2013-12-12 2 views
0
 connection = (HttpURLConnection) url.openConnection(); 
     connection.connect(); 

     if (connection.getResponseCode() != HttpURLConnection.HTTP_OK) 
      return null; 
     // return "Server returned HTTP " + connection.getResponseCode() 
     // + " " + connection.getResponseMessage(); 

     // download the file 
     input = connection.getInputStream(); 
     output = new FileOutputStream(IRConstant.issueFolder(y, m, d, i) + "/" + parms[0].currPage + ".zip"); 

     Log.d (TAG,"output: " + output); 

     byte data[] = new byte[1024]; 
     int count; 
     while ((count = input.read(data)) != -1) { 
      output.write(data, 0, count); 
     } 

Приведенный выше код, как я реализовать функцию загрузки, проблема в том, как установить его, чтобы заменить существующий файл, если есть файл aleready существуют какие конкретные выходным потоком ? спасибоAndroid скачать - с использованием выходного потока подход

ответ

1

Попробуйте использовать другой конструктор:

public FileOutputStream (File file, boolean append) 

конструирует новый FileOutputStream, который записывает в файл. Если append истинно, и файл уже существует, он будет добавлен; иначе он будет усечен. Файл будет создан, если он не существует.

Но я думаю, что конструктор по умолчанию уже перезаписывать существующий файл

public FileOutputStream (String path) 

конструирует новый FileOutputStream, который записывает на пути. Файл будет усечен, если он существует и создан, если он не существует.

1

Перед тем, как записывать данные в файл, проверьте его существование. Если файл существует, удалите его. Ниже код действителен только для файлов (не для каталогов).

File f = new File("path to file"); 
    if (f.exists()) { 
     file.delete(); 
} 
Смежные вопросы