Android 读取TXt,按行读取

来源:互联网 发布:windows搭建dns 编辑:程序博客网 时间:2024/06/05 17:34
一个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;    }}


0 1