在进行序列识别时,需要对多个模式串进行识别,需要对多行浮点数进行读取,并进行解析。
所以使用的方法为:
使用文本多行读取的方式;对每行文本进行正则表达式匹配;再进行字符转换。
代码如下:
@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();
}
}