文件格式是这样的

处理方法为:
package com.caissa.chador_mr;
import org.apache.commons.compress.compressors.bzip2.BZip2CompressorInputStream;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.InputStream;
import java.io.InputStreamReader;
/**
* Created by admin on 2019/1/25.
*/
public class ReadLogFile {
public static void main(String [] args){
traverseFolder2("C:\\Users\\admin\\Desktop\\新报表系统\\新日报数据");
}
/**
* 遍历文件夹
* @param path
*/
public static void traverseFolder2(String path){
File file = new File(path);
if (file.exists()) {
File[] files = file.listFiles();
if (files.length == 0) {
System.out.println("文件夹是空的!");
return;
} else {
for (File file2 : files) {
if (file2.isDirectory()) {
System.out.println("文件夹:" + file2.getAbsolutePath());
traverseFolder2(file2.getAbsolutePath());
} else {
String fileName=file2.getName();
String fileType=fileName.substring(fileName.lastIndexOf(".")+1);
System.out.println("文件名:" +fileName+"文件后缀:"+ fileName.substring(fileName.lastIndexOf(".")+1));
if(fileType.equals("csv")){
readCsvFile(file2.getAbsolutePath());
}else if(fileType.equals("bz2")){
readBZ2File(file2.getAbsolutePath());
}else if(fileType.equals("txt")){
readTxtFile(file2.getAbsolutePath());
}
}
}
}
} else {
System.out.println("文件不存在!");
}
}
/**
* 读取bz2文件的内容
* @param fileAdress
*/
public static void readBZ2File(String fileAdress){
DealLineDate dealLineDate =new DealLineDate();
File file=new File(fileAdress);
InputStream is=null;
try {
//用bz2读取文件
is=new BZip2CompressorInputStream(new FileInputStream(file));
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
String line = null;
while ((line = reader.readLine()) != null) {
//读取之后的处理
System.out.println(line);
dealLineDate.dealDate(line);
}
reader.close();
is.close();
}catch (Exception e){
e.printStackTrace();
}
}
/**
* 读取txt文件的内容
* @param fileAdress
*/
public static void readTxtFile(String fileAdress){
DealLineDate dealLineDate =new DealLineDate();
try {
File filename = new File(fileAdress); // 要读取以上路径的input。txt文件
InputStreamReader reader = new InputStreamReader(new FileInputStream(filename)); // 建立一个输入流对象reader
BufferedReader br = new BufferedReader(reader); // 建立一个对象,它把文件内容转成计算机能读懂的语言
String line = "";
line = br.readLine();
while (line != null) {
line = br.readLine(); // 一次读入一行数据
System.out.println(line);
dealLineDate.dealDate(line);
}
}catch (Exception e){
e.printStackTrace();
}
}
/**
* 读取txt文件的内容
* @param fileAdress
*/
public static void readCsvFile(String fileAdress){
DealLineDate dealLineDate =new DealLineDate();
try{
BufferedReader reader = new BufferedReader(new FileReader(fileAdress));
reader.readLine();//第一行信息,为标题信息,不用,如果需要,注释掉
String line = null;
while((line=reader.readLine())!=null){
System.out.println(line);
dealLineDate.dealDate(line);
}
}catch (Exception e){
e.printStackTrace();
}
}
}
这篇博客介绍了如何使用Java进行文件夹遍历,详细讲解了读取不同文件格式的方法,包括步骤和关键代码片段。
244

被折叠的 条评论
为什么被折叠?



