2011-10-31 54 views
1

我將從互聯網上下載的xml文件下載到內存手機..我想查看是否可以使用互聯網連接進行下載併發送消息,如果沒有。如果沒有,我想看看如果xml文件已經存在於內存中..如果存在,應用程序不會進行下載。檢查內存中是否存在xml文件WP7

問題是我不知道如何使「如果」條件來查看文件是否存在。

我有這樣的代碼:

public MainPage() 
{ 
    public MainPage() 
    { 
     if (NetworkInterface.GetIsNetworkAvailable()) 
     { 
      InitializeComponent(); 

      WebClient downloader = new WebClient(); 
      Uri xmlUri = new Uri("http://dl.dropbox.com/u/32613258/file_xml.xml", UriKind.Absolute); 
      downloader.DownloadStringCompleted += new DownloadStringCompletedEventHandler(Downloaded); 
      downloader.DownloadStringAsync(xmlUri); 
     } 
     else 
     { 
      MessageBox.Show("The internet connection is not available"); 
     } 
    } 

    void Downloaded(object sender, DownloadStringCompletedEventArgs e) 
    { 
     if (e.Result == null || e.Error != null) 
     { 
      MessageBox.Show("There was an error downloading the xml-file"); 
     } 
     else 
     { 
      IsolatedStorageFile myIsolatedStorage = IsolatedStorageFile.GetUserStoreForApplication(); 
      var stream = new IsolatedStorageFileStream("xml_file.xml", FileMode.Create, FileAccess.Write, myIsolatedStorage); 
      using (StreamWriter writeFile = new StreamWriter(stream)) 
      { 
       string xml_file = e.Result.ToString(); 
       writeFile.WriteLine(xml_file); 
       writeFile.Close(); 
      } 
     } 
    } 
} 

我不知道怎麼查看文件是否符合條件:(存在

回答

5

IsolatedStorageFile類有一個叫做FileExists方法見documentation here 如果。你想檢查文件名,你也可以使用GetFileNames這個方法,它給出你在IsolatedStorage根目錄下的文件名列表。Documentation here.

IsolatedStorageFile myIsolatedStorage = IsolatedStorageFile.GetUserStoreForApplication(); 
if(myIsolatedStorage.FileExists("yourxmlfile.xml)) 
{ 
    // do this 
} 
else 
{ 
    // do that 
} 

IsolatedStorageFile myIsolatedStorage = IsolatedStorageFile.GetUserStoreForApplication(); 
string[] fileNames = myIsolatedStorage.GetFileNames("*.xml") 
foreach (string fileName in fileNames) 
{ 
    if(fileName == "yourxmlfile.xml") 
    { 
     // do this 
    } 
    else 
    { 
     // do that 
    } 
} 

我不會保證上面的代碼將工作完全,但是這是一個如何去它的總體思路。

+0

但我在做什麼?我不明白:(如果(getfilename.xml_file = true)???????? – jpmd

+0

另外,我不知道如果foreach將與字符串數組一起工作。嘗試通常的循環。 – abhinav

+0

謝謝;)作品像一個魅力;) – jpmd