2013-01-16 13 views
8

में फ़ाइल का नाम बदलने के बजाय एक एक्सिसिटिंग फ़ाइल को ओवरराइट कैसे कर सकता हूं मेरे पास एक डेटाबेस फ़ाइल है जो एसडीकार्ड पर है और अब जब कोई नई डेटाबेस फ़ाइल डाउनलोड की जाती है तो मुझे इसे नाम बदलने के बजाय पुराने को ओवरराइट करने की आवश्यकता होती है यह यहां मेरा डाउनलोड कोड है। डाउनलोड कोड पूरी तरह से काम कर रहा है ..मैं डाउनलोड प्रबंधक को एंड्रॉइड

public void startDownload() { 
     pDialog = new ProgressDialog(this); 
     pDialog.setMessage("Downloading Database. Please wait..."); 
     pDialog.setIndeterminate(false); 
     pDialog.setMax(100); 
     pDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); 
     pDialog.setCancelable(false); 

    Uri uri=Uri.parse(file_url); 

    String baseDir = Environment.getExternalStorageDirectory().getAbsolutePath(); 
    File ADirectory = new File(baseDir +"/test"); 
    ADirectory.mkdirs(); 

    lastDownload= 
     mgr.enqueue(new DownloadManager.Request(uri) 
        .setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI | 
              DownloadManager.Request.NETWORK_MOBILE) 
        .setAllowedOverRoaming(false) 
        .setTitle(" Database File") 
        .setDescription("Please wait....test Database downloading.") 
        .setDestinationInExternalPublicDir("/test", "/testing")); 

    pDialog.show(); 
    //v.setEnabled(false); 
    // findViewById(R.id.query).setEnabled(true); 
    } 

उत्तर

10

जब आप डाउनलोड प्रबंधक को फ़ाइल सबमिट कर रहे हैं तो जांचें कि फ़ाइल पहले से मौजूद है या नहीं। फिर इसे हटा दें।

private boolean isFileExists(String filename){ 

    File folder1 = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + filename); 
    return folder1.exists(); 


} 

private boolean deleteFile(String filename){ 

    File folder1 = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + filename); 
    return folder1.delete(); 


} 
संबंधित मुद्दे