package com. example. demo. util; import lombok. extern . slf4j. Slf4j; import java. io. * ;
import java. util. ArrayList;
import java. util. List;
@Slf4j
public class FileUtil { public static void main ( String[ ] args) throws IOException { FileUtil fileUtil = new FileUtil ( ) ; String[ ] fileParseMsg = fileUtil. fileParse ( "D:\\cmiip_Dir\\S_I_0000000001_020\\" ) ; String v1 = fileParseMsg[ 0 ] ; String v2 = fileParseMsg[ 1 ] ; log. debug ( "保单号: {} 客户姓名: {}" , v1, v2) ; } public String[ ] fileParse ( String localErrorTxtPath) { BufferedReader bw = null ; try { List< String> listfile = new ArrayList < String > ( ) ; File file = new File ( localErrorTxtPath) ; File[ ] f1 = file. listFiles ( ) ; for ( int i = 0 ; i < f1. length; i++ ) { System. out . println ( "list集合中的数据:" + f1[ i] . getName ( ) ) ; if ( f1[ i] . getName ( ) . endsWith ( ".txt" ) ) { listfile. add ( f1[ i] . getName ( ) ) ; System. out . println ( "把需要的解析的txt文件放入到集合中:" + f1[ i] . getName ( ) ) ; continue ; } } for ( int i = 0 ; i < listfile. size ( ) ; i++ ) { String filename = listfile. get ( i) ; bw = new BufferedReader ( new InputStreamReader ( new FileInputStream ( localErrorTxtPath+ filename) , "utf-8" ) ) ; String message = null ; while ( ( message = bw. readLine ( ) ) != null ) { return dealErrorTxtInfo ( message, filename) ; } } } catch ( IOException e) { e. printStackTrace ( ) ; } finally { try { if ( bw != null ) { bw. close ( ) ; } } catch ( IOException e) { e. printStackTrace ( ) ; } } return null ; } private String[ ] dealErrorTxtInfo ( String message, String filename) { System. out . println ( "文件名称:" + filename + " , 处理的数据信息为:" + message) ; String[ ] contextStr = message. split ( "\\|" , - 1 ) ; System. out . println ( "总字段长度为:" + contextStr. length) ; return contextStr; }
}