2015-05-12 48 views
5

我正在寫一個應用程序來在我的Nexus 5上創建一個文件夾,然後在該文件夾內寫入一個文本文件。手機上的文件夾不顯示在Windows PC

上面的部分工作得很好。我使用下面的代碼書面方式:

創建的文件夾:

File sdCard1 = Environment.getExternalStorageDirectory(); 
     File dir = new File(sdCard1.getAbsolutePath() + "/SmsApp"); 
     if (dir.isDirectory()) 
     { 
      String[] children = dir.list(); 
      for (int i = 0; i < children.length; i++) 
      { 
       new File(dir, children[i]).delete(); 
      } 
     } 

     File sdCard = Environment.getExternalStorageDirectory(); 
     directory = new File (sdCard.getAbsolutePath() + "/SmsApp"); 
     directory.mkdirs(); 

和寫入字符串文本文件。

public void writeToText(String texttosave) 
    { 
     File sdCard = Environment.getExternalStorageDirectory(); 
     File logFile = new File(sdCard.getAbsolutePath() + "/SmsApp" + "/smsrawdata.file"); 
     if (!logFile.exists()) 
     { 
      try 
      { 
       logFile.createNewFile(); 
      } 
      catch (IOException e) 
      { 
       e.printStackTrace(); 
      } 
     } 
     try 
     { 
      BufferedWriter buf = new BufferedWriter(new FileWriter(logFile, true)); 
      buf.append(texttosave); 
      buf.newLine(); 
      buf.close(); 
     } 
     catch (IOException e) 
     { 
      e.printStackTrace(); 
     } 
    } 

文本文件是正確顯示了我的手機上,但是當我試圖訪問手機上的同一個文件夾,我不能看到該文件夾​​的。

我認爲它應該是相同的其他應用程序在創建一個文件夾,但然後創建一個文件夾,然後我可以看到他們在Windows資源管理器。

我在代碼部分做錯了什麼,它不能顯示在我的電腦上,只顯示在我的手機上。我正在使用ES文件資源管理器查看手機上的文件。

請讓我知道,如果別人有同樣的問題。

謝謝!

+0

您的計算機使用哪種協議來查看手機上的目錄? – greenapps

+0

這是使用MTP來查看文件 – TheDevMan

+0

而你知道在哪裏代表? – greenapps

回答

2

您的電腦將與媒體商店有關文件進行通信。不直接與SD卡或外部存儲器。如果媒體商店不知道您的文件,您的電腦無法看到它。你忘了告訴商店你創建了一個文件。對於每個新文件,您都應該調用該文件的媒體掃描程序。你不是第一個發生這種情況的人,所以這個問題多次被報道。您只需添加幾行代碼即可輕鬆搜索此網站以在新文件上調用媒體掃描器。如果您關閉/打開設備,該文件也會很快知曉。

相關問題