JAVA 는 폴 더 를 재 귀적 으로 옮 겨 다 니 며 지정 한 형식의 파일 을 가 져 옵 니 다.
이 코드 는 File 클래스 를 사용 하여 지정 한 파일 과 폴 더 를 연결 합 니 다.매개 변 수 를 옮 겨 다 닐 폴 더 로 입력 하 십시오.폴 더 전 체 를 재 귀적 으로 옮 겨 다 니 며 지정 한 파일 을 가 져 옵 니 다.예 를 들 어.pdf 파일 획득 등.그 다음은 파일 입력 흐름 과 출력 흐름 을 사용 하여 파일 을 저장 하 는 것 이다.다음은 코드 를 드 리 겠 습 니 다.이상 하 게 던 지지 않도록 주의 하 세 요.
public static void getfiles(File file1) throws IOException {
File[] files = file1.listFiles();
for (File file : files) {
if (file.isFile()) {//
if (file.getName().toLowerCase().endsWith(".pdf")) {// pdf
System.out.println(file.getName());
FileInputStream fis = new FileInputStream(file);//
File dir = new File("D:\\wenJian");// ,
if (!dir.exists()) {//
dir.mkdir();
}
FileOutputStream fos = new FileOutputStream(dir + "\\" + file.getName());//
byte[] b = new byte[1024];
int len;
while ((len = fis.read(b)) != -1) {
fos.write(b, 0, len);
}
fis.close();
fos.close();
}
} else {
getfiles(file);//
}
}
}
JAVA 는 또 하나의 필터 파일 클래스 FileFilter 클래스 를 제공 하 였 으 며,다음은 다른 방법 을 소개 합 니 다.
FileFilter 클래스 를 사용 하면 File 클래스 가 인 스 턴 스 를 만 들 때 구조 함 수 를 호출 할 수 있 습 니 다.선택 한 지정 한 파일 을 필터 합 니 다.사실 File.listFiles 방법 이 호출 될 때,그 는 FileFilter 의 추출 방법 accept()를 호출 합 니 다.클래스 계승 FileFilter 클래스 를 만 들 고 accept()방법 을 실현 하 며,자신의 필터 기준 을 정의 할 수 있 습 니 다.여기 서 저 는 Lambda 표현 식 으로 원 하 는 대상 파일 을 작성 합 니 다.물론 필요 한 서 류 를 스스로 확인 할 수도 있다.
public static void getFiles(File file1) throws IOException {
File[] files = file1.listFiles(pathname -> pathname.isDirectory() || pathname.getName().toLowerCase().endsWith(".pdf") ||
pathname.getName().toLowerCase().endsWith(".md"));/// .pdf .md
for (File file : files) {
if (!file.isDirectory()) {// ,
FileInputStream fis = new FileInputStream(file);
File dir = new File("J:\\heima");//
if (!dir.exists()) {//
dir.mkdir();
}
FileOutputStream fos = new FileOutputStream("J:\\heima\\" + file.getName());//
byte[] b = new byte[1024];
int len;
while ((len = fis.read(b)) != -1) {
fos.write(b, 0, len);
}
fis.close();
fos.close();
System.out.println(file.getName());
} else {
getFiles(file);//
}
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JAVA 다중 스레드 방법 JOIN 상세 및 실례 코드어떻게 해야만 깊이 파고들 수 있을까, 나의 이해는 문제를 가지고 있는 것이지, 범용적으로 보는 것이 아니다.그래서 이 시리즈는 기본적으로 문제를 해결하는 것을 위주로 한다. 한 마디로 하면 저는 이 시리즈를 통해 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.