博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 读取手机SD卡根目录下某个txt文件的文件内容
阅读量:4557 次
发布时间:2019-06-08

本文共 3441 字,大约阅读时间需要 11 分钟。

1.先看activity_main.xml文件:

2.MainActivity.java文件

/*读取手机SD卡根目录下某个txt文件的文件内容  * */import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import android.os.Bundle;import android.os.Environment;import android.app.Activity;import android.util.Log;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;public class MainActivity extends Activity {		private EditText et_folder;			//输入的文件夹名	private Button bt_open;				//打开按钮	private Button bt_clear;			//清除按钮	private EditText et_filecontent;	//用于显示txt文件内容		protected void onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);		setContentView(R.layout.activity_main);				et_folder = (EditText) findViewById(R.id.ET_Folder);        et_filecontent = (EditText) findViewById(R.id.ET_FileContent);        		bt_open = (Button) findViewById(R.id.But_Open); 		bt_open.setOnClickListener(new OnClickListener(){//打开按钮监听			public void onClick(View arg0) {				//若输入的文件夹名为空				if(et_folder.getText().toString().trim().equals("")){					Toast.makeText(getApplicationContext(), "输入为空",							Toast.LENGTH_SHORT).show();				}else{					//获得SD卡根目录路径   "/sdcard"					File sdDir = Environment.getExternalStorageDirectory();					//根目录下某个txt文件名					File path = new File(sdDir+File.separator					 +et_folder.getText().toString().trim());										// 判断SD卡是否存在,并且是否具有读写权限					if (Environment.getExternalStorageState()						.equals(Environment.MEDIA_MOUNTED)) {  			            et_filecontent.setText("");			            			            et_filecontent.setText(getFileContent(path));					}				}			}		});				bt_clear = (Button) findViewById(R.id.But_Clear); 		bt_clear.setOnClickListener(new OnClickListener(){//清除按钮监听			public void onClick(View arg0) {				et_folder.setText("");	            et_filecontent.setText("");							}		});			}		//读取指定目录下的所有TXT文件的文件内容	protected String getFileContent(File file) {		String content  = "";		if (file.isDirectory() ) {	//检查此路径名的文件是否是一个目录(文件夹)            Log.i("zeng", "The File doesn't not exist "            	+file.getName().toString()+file.getPath().toString());           } else {            if (file.getName().endsWith(".txt")) {//文件格式为txt文件            	try {                    InputStream instream = new FileInputStream(file);                     if (instream != null) {                        InputStreamReader inputreader                        	=new InputStreamReader(instream, "GBK");                        BufferedReader buffreader = new BufferedReader(inputreader);                        String line="";                        //分行读取                       while (( line = buffreader.readLine()) != null) {                            content += line + "\n";                        }                                        instream.close();		//关闭输入流                    }                }                catch (java.io.FileNotFoundException e) {                    Log.d("TestFile", "The File doesn't not exist.");                }                 catch (IOException e)  {                     Log.d("TestFile", e.getMessage());                }            }		}		return content ;	}}

转载于:https://www.cnblogs.com/anyuan9/p/6171540.html

你可能感兴趣的文章
生与死之间
查看>>
NEFU 109
查看>>
HDU 5435
查看>>
git从已有分支拉新分支开发
查看>>
滚动条隐藏兼容写法
查看>>
SQL2005查询所有表的大小
查看>>
Shell 正则表达式
查看>>
Docker run命令参数整理
查看>>
qt-opencv配置mingw编译器
查看>>
CSS之Medial Queries的另一用法:实现IE hack的方法
查看>>
oo第三单元总结
查看>>
linux-CentOS6.4下安装oracle11g详解
查看>>
实力为王 八年DBA经验谈
查看>>
2-sat 问题 【例题 Flags(2-sat+线段树优化建图)】
查看>>
ext3.2 右击动态添加node的treepanel
查看>>
Database links
查看>>
1035 插入与归并(25 分)
查看>>
STL中排序函数的用法(Qsort,Sort,Stable_sort,Partial_sort,List::sort)
查看>>
如何解决php 生成验证码图片不显示问题
查看>>
PHP,javascript实现大文件上传
查看>>