다음과 같이 코드 코드를 복사합니다.
패키지 com.pzq.io;
import java.io.BufferedReader;
import java.io.BufferedWriter;
java.io.파일 가져오기;
import java.io.FileWriter;
import java.io.IOException;
import java.io.StringReader;
import java.nio.charset.Charset;
import java.util.ArrayList;
java.util.List 가져오기;
org.apache.commons.io.FileUtils 가져오기;
/**
* 파일 작업 도구
* @version 1.0 2013/07/16
*
*/
공개 클래스 FileUtil {
/**
* 파일이나 디렉터리를 복사하면 복사 전과 복사 후의 파일은 완전히 동일합니다.
* @param resFilePath 소스 파일 경로
* @param distFolder 대상 폴더
* 작업 중 예외가 발생하면 @IOException이 발생합니다.
*/
공개 정적 무효 copyFile(문자열 resFilePath, 문자열 distFolder)
IOException이 발생합니다. {
파일 resFile = 새 파일(resFilePath);
파일 distFile = 새 파일(distFolder);
if (resFile.isDirectory()) { // 디렉토리
FileUtils.copyDirectoryToDirectory(resFile, distFile);
} else if (resFile.isFile()) { // 파일
// FileUtils.copyFileToDirectory(resFile, distFile, true);
FileUtils.copyFileToDirectory(resFile, distFile);
}
}
/**
* 파일이나 디렉토리 삭제
* @param targetPath 파일 또는 디렉터리 경로
* 작업 중 예외가 발생하면 @IOException이 발생합니다.
*/
public static void deleteFile(String targetPath)이 IOException을 발생시킵니다.
파일 targetFile = 새 파일(targetPath);
if (targetFile.isDirectory()) {
FileUtils.deleteDirectory(대상파일);
} else if (targetFile.isFile()) {
targetFile.delete();
}
}
/**
* 지정된 파일에 문자열을 작성합니다. (지정된 상위 경로의 폴더가 존재하지 않을 경우, 성공적으로 저장되도록 최대한 생성해 드립니다!)
*
* @param res 원본 문자열
* @param filePath 파일 경로
* @return 성공 표시
* @throwsIOException
*/
공개 정적 부울 string2File(String res, String filePath)이 IOException을 발생시킵니다.
부울 플래그 = true;
BufferedReader bufferedReader = null;
BufferedWriter bufferedWriter = null;
노력하다 {
파일 distFile = 새 파일(filePath);
if (!distFile.getParentFile().exists()) {//존재하지 않는 경우 생성
distFile.getParentFile().mkdirs();
}
bufferedReader = new BufferedReader(new StringReader(res));
bufferedWriter = new BufferedWriter(new FileWriter(distFile));
char buf[] = new char[1024] //문자 버퍼
int len;
while ((len = bufferedReader.read(buf)) != -1) {
bufferedWriter.write(buf, 0, len);
}
bufferedWriter.flush();
bufferedReader.close();
bufferedWriter.close();
} 잡기(IOException e) {
플래그 = 거짓;
전자를 던져;
}
반환 플래그;
}
/**
* 지정된 파일의 내용을 가져옵니다
*
* @param res 원본 문자열
* @param filePath 파일 경로
* @return 성공 표시
* @throwsIOException
*/
public static List<String> getContentFromFile(String filePath)에서 IOException이 발생합니다.
List<String> 목록 = null;
노력하다 {
if(!(새 파일(filePath).exists())){
새로운 ArrayList<String>()을 반환합니다;
}
목록 = FileUtils.readLines(new File(filePath), Charset.defaultCharset());
} 잡기(IOException e) {
전자를 던져;
}
반환 목록;
}
/**
* 지정된 파일에 내용을 추가합니다.
* @param 파일 경로
* @param 내용
*/
public static void addContent(String filePath, List<String> 내용)는 IOException을 발생시킵니다.
노력하다 {
FileUtils.writeLines(새 파일(filePath), 내용);
} 잡기(IOException e) {
전자를 던져;
}
}
}