处理常见的文本文件。
一、CsvUtil.java
获取.csv文件的某一行某一列数据的内容
package cn.evan.util;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.springframework.util.ClassUtils;
/**
* 获取.csv文件的某一行某一列数据的内容
* @author Evan
* date:2019/7/5
*
*/
public class CsvUtil {
public static List<String> readCvs() {
String filePath = ClassUtils.getDefaultClassLoader().getResource("").getPath() + "static/tempfile/" + "area.csv";
List<String> areaList = new ArrayList<String>();
try {
//BufferedReader br = new BufferedReader(new FileReader(filePath));
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(filePath),"GBK"));
String line = null;
String areaid = null;
while((line = br.readLine()) != null){
areaid = line.split(",")[0];
areaList.add(areaid);
}
br.close();
return areaList;
} catch (IOException e) {
e.printStackTrace();
}
return areaList;
}
}
二、FileUtil.java
将需要的内容写到一个.txt文件中。
package cn.evan.util;
import java.io.FileWriter;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.io.File;
import java.util.ArrayList;
import org.springframework.util.ClassUtils;
public class FileUtil{
//生成文件
public static createFile(String area, String fileName) {
String filePath = ClassUtils.getDefaultClassLoader().getResource("").getPath() + "static/tempfile/" + fileName + ".txt";
//File file = ResourceUtils.getFile("classpath:area.csv");
try {
//String str = new String(response.getBytes("ISO-8859-1"),"utf-8");
// true表示不覆盖原来的内容,而是加到文件的后面。若要覆盖原来的内容,直接省略这个参数就好
fwriter = new FileWriter(filePath, true);
fwriter.write(area);
} catch (IOException ex) {
ex.printStackTrace();
} finally {
try {
fwriter.flush();
fwriter.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
//方法getFiles根据指定路径获取所有的文件
public static ArrayList<File> getFiles(String path) throws Exception {
//目标集合fileList
ArrayList<File> fileList = new ArrayList<File>();
File file = new File(path);
if(file.isDirectory()){
File []files = file.listFiles();
for(File fileIndex:files){
//如果这个文件是目录,则进行递归搜索
if(fileIndex.isDirectory()){
getFiles(fileIndex.getPath());
}else {
//如果文件是普通文件,则将文件句柄放入集合中
fileList.add(fileIndex);
}
}
}
return fileList;
}
}