2014-03-13 43 views
-1

我想將文本文件的內容添加到我的應用中的內容框中。當我給出.txt文件的名稱時,txt文件的內容應該放在我的內容框中。這個txt文件被放置在sdcard目錄中。我的代碼有什麼問題(android編程)

這是我寫

public void sdd(View v){ 

    TextView t = (EditText)findViewById(R.id.txtTitle); 
    EditText content = (EditText)findViewById(R.id.txtContent); 
    File dir = Environment.getExternalStorageDirectory(); 
    String tt=".txt"; 
    // File file = new File(dir,"text.txt"); 
    File file = new File(dir,t.getText().toString()+ tt); 
    if(file.exists()) // check if file exist 
    { 
      //Read text from file 
     StringBuilder text = new StringBuilder(); 
     try { 
      BufferedReader br = new BufferedReader(new FileReader(file)); 
      String line; 

      while ((line = br.readLine()) != null) { 
       text.append(line); 
       text.append('\n'); 
      } 
     } 
     catch (IOException e) { 
      //You'll need to add proper error handling here 
     } 
     //Set the text 
     // et.setText(text); 
     content.setText(text); 
    } 
    else 
    { 
     content.setText("Sorry file doesn't exist!!"); 
    } 
} 

現在,當我想給的文件名,我總是得到Sorry file doesn't exist代碼,即使它呢!誰能告訴我什麼是錯的?或者如何改善這種代碼

+0

什麼是你的問題的權限?具體是你想要做什麼? –

+0

發佈您的日誌貓 – 2014-03-13 05:47:19

+1

你有所有權限花花公子 –

回答

1

更好地檢查File這樣的:

File dir = Environment.getExternalStorageDirectory().getAbsolutePath(); 
String filename = t.getText().toString()+ tt; 
File file = new File(dir,filename.trim()); 

if(file.exists() && (file.length()!=0)) // check if file exist 
{ 

//do your job 

}else{ 

content.setText("Sorry file doesn't exist!!"); 

} 

並添加讀寫manifest.xml

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 
+0

非常感謝!這解決了它 – AspiringAndroidDev

+0

@AspiringAndroidDev喲歡迎! –

0

採取允許讀取和在這個時候寫ü只需要讀取權限

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 

可能是一些空白空間有那麼概率嘗試WD此

TextView t = (EditText)findViewById(R.id.txtTitle); 
    EditText content = (EditText)findViewById(R.id.txtContent); 
    File dir = Environment.getExternalStorageDirectory(); 
    String tt=".txt"; 

String filename = getText().toString()+ tt; 


    File file = new File(dir,filename.trim()); 

其餘代碼是相同的

+0
+0

都沒有做這傢伙是這個幫助ü –

+0

是啊,我知道了:) – AspiringAndroidDev

0

我剛剛開始與Android開發呢!

首先我想創建一個新的變量來存儲這些:t.getText()的toString()+ TT

那麼我會嘗試調試代碼。在測試文件存在的行上設置一個斷點,這顯然會返回false。

檢查變量的內容,以確保它有你期待

希望幫助文件名!