文件操作工具类
/********************************************
* 文件操作工具类
*
* @author p.ww
*********************************************/
import java.io.*;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
import org.apache.commons.compress.archivers.ArchiveInputStream;
import org.apache.commons.compress.archivers.ArchiveStreamFactory;
import org.apache.commons.compress.archivers.tar.TarArchiveEntry;
import org.apache.commons.compress.compressors.bzip2.BZip2CompressorInputStream;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class FileUtils {
/**
* 读文件
*
* @param filePath 读取文件路径
* @return 返回字符串
*/
public static String readTxtFile(String filePath) {
File file = new File(filePath);
if (!file.exists()) {
return null;
}
StringBuffer stringBuffer = null;
BufferedReader bufferedReader = null;
try {
bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(file), "GBK"));
stringBuffer = new StringBuffer();
String line = null;
while ((line = bufferedReader.readLine()) != null) {
if ("\r".equals(line)) {
continue;
}
stringBuffer.append(line).append("\n");
}
} catch (Exception e) {
e.printStackTrace();
return null;
} finally {
closeBufferedReader(bufferedReader);
}
return stringBuffer.toString();
}
/**
* 关闭文件流
*
* @author Lius
* @date 2018/10/26 16:32
*/
public static void closeBufferedReader(BufferedReader bufferedReader) {
if (bufferedReader != null) {
try {
bufferedReader.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
/**
* 写文件
* @param fileName
* @param content
* @return
*/
public static int writeFile(String fileName, byte[] content) {
File file = new File(fileName);
File fileparent = file.getParentFile();
if (!fileparent.exists()) {
System.out.println("文件夹不存在!");
// fileparent.mkdirs();
}
FileOutputStream os = null;
try {
os = new FileOutputStream(fileName);
os.write(content);
os.flush();
} catch (Exception e) {
System.out.println("写入文件异常:" + e.getMessage());
return -1;
} finally {
try {
if (null != os)
os.close();
} catch (IOException e) {
}
}
os = null;
return 0;
}
/**
* 获取windows/linux的项目根目录
* @author p.ww
* @return
*/
public static String getConTextPath(){
String fileUrl = Thread.currentThread().getContextClassLoader().getResource("").getPath();
if("usr".equals(fileUrl.substring(1,4))){
fileUrl = (fileUrl.substring(0,fileUrl.length()-16));//linux
}else{
fileUrl = (fileUrl.substring(1,fileUrl.length()-16));//windows
}
return fileUrl;
}
}