当前位置 : 主页 > 手机开发 > android >

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

来源:互联网 收集:自由互联 发布时间:2021-08-03
一个TXT 文件 对其进行读取,并且每行都单个存储读取 public class MainActivity extends AppCompatActivity { private TextView textView,textView2,textView3; private Button click; @Override protected void onCreate(Bundle save

一个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;
 }
}

以上这篇Android 读取txt,按行读取的实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持自由互联。

网友评论