当前位置: 首页 > 后端技术 > Java

Java的FileFilter文件过滤和readline读取操作示例代码

时间:2023-04-01 22:46:31 Java

复制代码代码如下:IOException;importjava.io.InputStreamReader;importjava.math.BigDecimal;publicclassTest{publicstaticvoidmain(String[]args)throwsException{//文件过滤,文件路径可以使用D:\\pressTest\\test绝对路径,也可以用src/test。File[]files=newFile("src").listFiles(newFileFilter(){publicbooleanaccept(Filearg0){if(arg0.getName().endsWith(".txt")){//选择txt文件返回真;}返回假;}});FileInputStream为=null;//输入流读取文件BufferedReaderdr=null;//读取行for(Filefile:files){System.out.println("---------【filename:"+file.getName()+"】----------");是=newFileInputStream(文件);dr=newBufferedReader(新的InputStreamReader(是));String[]strings=newString[]{"传输总数:","每秒请求数:","[ms](平均值)","每个请求时间:","传输率:","失败请求数:"","写入错误:"};BigDecimal[]BigDecimals=calPress(dr);诠释我=0;对于(BigDecimalBigDecimal:BigDecimals){System.out.println(strings[i]+""+BigDecimal);我++;}System.out.println();}博士关闭();is.close();}privatestaticBigDecimal[]calPress(BufferedReaderdr)throwsIOException{BigDecimal[]res=newBigDecimal[]{BigDecimal.ZERO,BigDecimal.ZERO,BigDecimal.ZERO,BigDecimal.ZERO,BigDecimal.ZERO,BigDecimal.ZERO,BigDecimal.零};字符串总计;while((totalTrans=dr.readLine())!=null){if(totalTrans.startsWith("Totaltransferred:")){String[]st=totalTrans.sp点燃(“”);BigDecimal值=BigDecimal.valueOf(Double.valueOf(st[st.length-2]));res[0]=res[0].add(值);}if(totalTrans.startsWith("每秒请求数:")){String[]st=totalTrans.split("");BigDecimal值=BigDecimal.valueOf(Double.valueOf(st[st.length-3]));res[1]=res[1].add(值);}if(totalTrans.endsWith("[ms](mean)")){String[]st=totalTrans.split("");BigDecimal值=BigDecimal.valueOf(Double.valueOf(st[st.length-3]));res[2]=res[2].add(值);}if(totalTrans.startsWith("Timeperrequest:")&&!totalTrans.endsWith("[ms](mean)")){String[]st=totalTrans.split("");BigDecimal值=BigDecimal.valueOf(Double.valueOf(st[st.length-7]));res[3]=res[3].add(值);}if(totalTrans.startsWith("Transferrate:")){String[]st=totalTrans.split("");BigDecimal值=BigDecimal.valueOf(Double.valueOf(st[st.length-3]));res[4]=res[4].add(值);}if(totalTrans.startsWith("失败的请求:")){String[]st=totalTrans.split("");BigDecimal值=BigDecimal.valueOf(Double.valueOf(st[st.length-1]));res[5]=res[5].add(值);}if(totalTrans.startsWith("写入错误:")){String[]st=totalTrans.split("");BigDecimal值=BigDecimal.valueOf(Double.valueOf(st[st.length-1]));res[6]=res[6].add(值);}}返回资源;}}