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);
}
上面的代码是我如何实现下载功能,问题是,如果存在一个特定于输出流的文件,如何将其设置为覆盖现有文件?感谢
答案 0 :(得分:1)
尝试使用其他构造函数:
public FileOutputStream (File file, boolean append)
构造一个写入文件的新FileOutputStream。如果append为true且文件已存在,则将附加到;否则会被截断。如果文件不存在,将创建该文件。
但我认为默认构造函数已经覆盖现有文件
public FileOutputStream (String path)
构造一个写入path的新FileOutputStream。如果该文件存在,该文件将被截断,如果该文件不存在,则会被创建。
答案 1 :(得分:1)
在将数据写入文件之前检查它是否存在。如果文件存在则删除它。下面的代码仅对文件有效(不适用于目录)。
File f = new File("path to file");
if (f.exists()) {
file.delete();
}