安卓Java读取SD卡文本文件

       在进行序列识别时,需要对多个模式串进行识别,需要对多行浮点数进行读取,并进行解析。

       所以使用的方法为:

             使用文本多行读取的方式;对每行文本进行正则表达式匹配;再进行字符转换。

代码如下:

        @SuppressLint("SdCardPath")
        public static void readTxt2SeqMulti(String txtPath,  Vector<Vector<Float > >  Seq ){  

            try {  
                String encoding="GBK";  
                File file=new File(txtPath);  
                if(file.isFile() && file.exists()){ //判断文件是否存在  
                    InputStreamReader read = new InputStreamReader(  
                            new FileInputStream(file),encoding);//考虑到编码格式  
                    BufferedReader bufferedReader = new BufferedReader(read);  

                    String lineTxt = null;  
                    Seq.clear();
                    
                    while((lineTxt = bufferedReader.readLine()) != null ){  
                        //输入每一行到向量
                        //System.out.println(lineTxt);  
                        String[] sourceStrArray = lineTxt.split(" ");
                        
                        Vector<Float >   SeqS= new Vector<Float >();
                        for (int i = 0; i < sourceStrArray.length; i++) {
                            //System.out.println(sourceStrArray[i]);
                            String SValue = sourceStrArray[i];
                            float Value =Float.parseFloat(SValue );
                            SeqS.add(Value);
                        }
                        Seq.add(SeqS);
                    }  
                    
                    read.close();  
                }else{  
                    System.out.println("找不到指定的文件");  
                }  
            } catch (Exception e) {  
                System.out.println("读取文件内容出错");  
                e.printStackTrace();  
            }  
        }

posted @ 2015-09-17 21:55  wishchin  阅读(200)  评论(0编辑  收藏  举报