当前位置:主页 > 移动开发 > Android代码 >

Android 读取txt,按行读取的实例讲解

时间:2020-12-12 14:12:48 | 栏目:Android代码 | 点击:

一个TXT 文件 对其进行读取,并且每行都单个存储读取

public class MainActivity extends AppCompatActivity {
 private TextView textView,textView2,textView3;
 private Button click;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  textView = (TextView) findViewById(R.id.textView);
  textView2 = (TextView) findViewById(R.id.textView2);
  textView3 = (TextView) findViewById(R.id.textView3);
  String s1 = Txt().get(0);//从Map get (key = 0)的value
  String s2 = Txt().get(1);
  String s3 = Txt().get(2);
  textView.setText(s1);
  textView2.setText(s2);
  textView3.setText(s3);
 }
 public Map<Integer, String> Txt() {
  //将读出来的一行行数据使用Map存储
  String filePath = "/sdcard/sdl_log.txt";//手机上地址
  Map<Integer, String> map = new HashMap<Integer, String>();
  try {
   File file = new File(filePath);
   int count = 0;//初始化 key值
   if (file.isFile() && file.exists()) {  //文件存在的前提
    InputStreamReader isr = new InputStreamReader(new FileInputStream(file));
    BufferedReader br = new BufferedReader(isr);
    String lineTxt = null;
    while ((lineTxt = br.readLine()) != null) {  //
     if (!"".equals(lineTxt)) {
      String reds = lineTxt.split("\\+")[0];  //java 正则表达式
      map.put(count, reds);//依次放到map 0,value0;1,value2
      count++;
     }
    }
    isr.close();
    br.close();
   }else {
    Toast.makeText(getApplicationContext(),"can not find file",Toast.LENGTH_SHORT).show();//找不到文件情况下
   }
  } catch (Exception e) {
   e.printStackTrace();
  }
  return map;
 }
}

您可能感兴趣的文章:

相关文章