Intent.ACTION_GET_CONTENT 选择后读取文本文件
Read text file after chossing by Intent.ACTION_GET_CONTENT
我正在尝试通过打开文件资源管理器 select 文本文件,然后读取 selected 文件。
我尝试了很多解决方案。最后一个是这个代码
public void btnRead_Click(View view) {
Intent chooseFile = new Intent(Intent.ACTION_GET_CONTENT);
chooseFile.setType("text/plain");
startActivityForResult(chooseFile, 1);
}
@Override
protected void onActivityResult(int requestedCode, int resultCode, Intent data) {
if (requestedCode == 1) {
if (resultCode == RESULT_OK) {
File file = new File(data.getDataString());
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');
}
br.close();
}
catch (IOException e){}
textView = (TextView) findViewById(R.id.textView);
textView.setText(text);
}
}
}
提前致谢
我在这里找到了解决方案:
密码是:
public static int PICK_FILE = 1;
public void btnRead_Click(View view)
{
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("text/plain");
startActivityForResult(intent, PICK_FILE);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == PICK_FILE)
{
if (resultCode == RESULT_OK)
{
Uri uri = data.getData();
String fileContent = readTextFile(uri);
Toast.makeText(this, fileContent, Toast.LENGTH_LONG).show();
}
}
}
private String readTextFile(Uri uri)
{
BufferedReader reader = null;
StringBuilder builder = new StringBuilder();
try
{
reader = new BufferedReader(new InputStreamReader(getContentResolver().openInputStream(uri)));
String line = "";
while ((line = reader.readLine()) != null)
{
builder.append(line);
}
reader.close();
}
catch (IOException e) {e.printStackTrace();}
return builder.toString();
}
我正在尝试通过打开文件资源管理器 select 文本文件,然后读取 selected 文件。 我尝试了很多解决方案。最后一个是这个代码
public void btnRead_Click(View view) {
Intent chooseFile = new Intent(Intent.ACTION_GET_CONTENT);
chooseFile.setType("text/plain");
startActivityForResult(chooseFile, 1);
}
@Override
protected void onActivityResult(int requestedCode, int resultCode, Intent data) {
if (requestedCode == 1) {
if (resultCode == RESULT_OK) {
File file = new File(data.getDataString());
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');
}
br.close();
}
catch (IOException e){}
textView = (TextView) findViewById(R.id.textView);
textView.setText(text);
}
}
}
提前致谢
我在这里找到了解决方案:
密码是:
public static int PICK_FILE = 1;
public void btnRead_Click(View view)
{
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("text/plain");
startActivityForResult(intent, PICK_FILE);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == PICK_FILE)
{
if (resultCode == RESULT_OK)
{
Uri uri = data.getData();
String fileContent = readTextFile(uri);
Toast.makeText(this, fileContent, Toast.LENGTH_LONG).show();
}
}
}
private String readTextFile(Uri uri)
{
BufferedReader reader = null;
StringBuilder builder = new StringBuilder();
try
{
reader = new BufferedReader(new InputStreamReader(getContentResolver().openInputStream(uri)));
String line = "";
while ((line = reader.readLine()) != null)
{
builder.append(line);
}
reader.close();
}
catch (IOException e) {e.printStackTrace();}
return builder.toString();
}