我正在尝试将文本文件的内容添加到我的应用中的内容框中。当我提供.txt文件的名称时,txt文件的内容应该放在我的内容框中。此txt文件放在sdcard目录中。
这是我写的代码
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 :(得分: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" />
答案 1 :(得分: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());
其余代码相同
答案 2 :(得分:0)
我刚刚开始使用Android开发!
首先,我创建一个新变量来存储它:t.getText()。toString()+ tt
然后我尝试调试你的代码。在您测试文件存在的行上设置一个断点,该断点明显返回false。
检查该变量的内容,确保它具有您期望的文件名
希望有所帮助!