Java 如何在android应用程序中读取和显示从文件选择器中选择的文本文件的内容?
我是android应用程序开发的新手。我正在尝试在我的应用程序的textview中读取并显示从文件选择器中选择的文本文件。但使用以下代码,我的应用程序不断崩溃。最初,当我在filePath=data.getData()之后放置toast时;当我将filePath(其数据类型为Uri)转换为字符串,然后放置toast以确保Uri是否转换为字符串时,它工作了,我在toast中获得了文件的路径,但当我实现read_file()函数时,我的应用程序崩溃了。我是个新手,任何帮助都将不胜感激Java 如何在android应用程序中读取和显示从文件选择器中选择的文本文件的内容?,java,Java,我是android应用程序开发的新手。我正在尝试在我的应用程序的textview中读取并显示从文件选择器中选择的文本文件。但使用以下代码,我的应用程序不断崩溃。最初,当我在filePath=data.getData()之后放置toast时;当我将filePath(其数据类型为Uri)转换为字符串,然后放置toast以确保Uri是否转换为字符串时,它工作了,我在toast中获得了文件的路径,但当我实现read_file()函数时,我的应用程序崩溃了。我是个新手,任何帮助都将不胜感激 @Overr
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == FILE_SELECT_CODE && resultCode == RESULT_OK && data != null && data.getData() != null) {
filePath = data.getData();
read_file(this,filePath);
}
}
public String read_file(Context context, Uri filePath) {
try {
String uriToString;
uriToString= filePath.toString();
Toast.makeText(this, uriToString, Toast.LENGTH_LONG).show();
FileInputStream fis = context.openFileInput(uriToString);
InputStreamReader isr = new InputStreamReader(fis, "UTF-8");
BufferedReader bufferedReader = new BufferedReader(isr);
StringBuilder sb = new StringBuilder();
String line;
while ((line = bufferedReader.readLine()) != null) {
sb.append(line).append("\n");
}
return sb.toString();
} catch (FileNotFoundException e) {
return "";
} catch (UnsupportedEncodingException e) {
return "";
} catch (IOException e) {
return "";
}
}
您想在哪里打印文件内容?…在文本视图中