package com.util;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
public class FileUtil {
public static File createDirectory(String path){
File file=new File(path);
return FileUtil.createDirectory(file);
}
public static File createDirectory(File file){
file.mkdirs();
return file;
}
public static File createFile(String path){
path=FileUtil.treatFilePath(path);
path=Util.trimStartString(path, "/");
if(FileUtil.isDirectory(path)==true){
return FileUtil.createDirectory(path);
}
path= path==null?"":path;
File file=new File(path);
return FileUtil.createFile(file);
}
public static File createFile(File file) {
if(FileUtil.isDirectory(file)==true){
return FileUtil.createDirectory(file);
}
File parentFile = file.getParentFile();
if (parentFile.exists() == false) {
parentFile.mkdirs();
}
if (file.exists() == false) {
try {
file.createNewFile();
} catch (IOException e) {
String path=file.getAbsolutePath();
}
}
return file;
}
public static boolean isDirectory(File file){
String path=file.getAbsolutePath();
return FileUtil.isDirectory(path);
}
public static boolean isDirectory(String path){
path = path==null?"":path;
if(path.equals("")){
return true;
}
boolean isDir=false;
path=FileUtil.treatFilePath(path);
if(path.indexOf("/")!=-1){
String lines[]=path.split("/");
if(lines.length==0){
return true;
}
String last=lines[lines.length-1];
isDir= last.indexOf(".")>0?false:true;
}
return isDir;
}
public static File initFile(File file) {
return FileUtil.writeToFile("", file, false);
}
public static File writeToFile(File srcFile,File destFile) {
List<String> list = FileUtil.readFile(srcFile);
return FileUtil.writeToFile(list, destFile);
}
public static File writeToFile(String[] lines, File file) {
List<String> list = new ArrayList<String>();
for (String line : lines) {
list.add(line);
}
return FileUtil.writeToFile(list, file);
}
public static File writeToFile(List<String> list, File file) {
boolean isFirstLine = true;
if(list.size()==0){
FileUtil.initFile(file);
return file;
}
for (String line : list) {
if (isFirstLine == true) {
file=writeToFile(line, file, false);
isFirstLine = false;
} else {
file=appendToFile(line, file);
}
}
return file;
}
public static File writeToFile(String line, File file, boolean isAppend) {
file=FileUtil.createFile(file);
if (line == null) {
return file;
}
try {
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream(file, isAppend), "utf-8"));
bw.write(line);
bw.flush();
if (line.length() != 0) {// line no equals ""
bw.newLine();
bw.flush();
}
bw.close();
} catch (UnsupportedEncodingException e) {
return file;
} catch (FileNotFoundException e) {
return file;
} catch (IOException e) {
return file;
}
return file;
}
public static File appendToFile(List<String> list, File file) {
for (String line : list) {
file=FileUtil.appendToFile(line, file);
}
return file;
}
public static File appendToFile(String line, File file) {
return writeToFile(line, file, true);
}
public static List<String> readFile(File file) {
file=FileUtil.createFile(file);
List<String> list = new ArrayList<String>();
try {
BufferedReader br = new BufferedReader(new InputStreamReader(
new FileInputStream(file), "utf-8"));
String line = br.readLine();
while (line != null) {
list.add(line);
line = br.readLine();
}
br.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return list;
}
public static String treatFilePath(String path){
path=path.replace("//", "/");
path=path.replace("\\", "/");
return path;
}
}
java FileUtil文件工具类源码
猜你喜欢
转载自blog.csdn.net/qq_38974638/article/details/105019371
今日推荐
周排行