Java는 아래의 모든 폴더와 파일의 경로를 읽습니다. 특정 내용은 다음과 같습니다
f :/aa 폴더에서 다음과 같이 폴더와 파일이 있습니다.
그런 다음 Java에서는 f :/aa 아래의 모든 파일 경로를 다음과 같이 읽습니다.
1. 우선, ArrayList는 파일 및 컨테이너 클래스에서 사용되므로 다음 패키지는 처음에 소개되어야합니다.
java.io.*; java.util.*;
2.이 방법은 다음과 같습니다. 여기서 파일 방향 파일은 F :와 같은 드라이브 문자를 제외한 모든 법적 경로를 수락 할 수 있습니다. 드라이브 문자에는 일부 시스템 파일이 포함되어 있으므로 드라이브 문자를 읽으므로 액세스가 거부되면 Null 포인터 예외가 발생할 수 있습니다.
// 여기서 우리는 현재 경로에서 모든 폴더와 파일 만 쿼리하고 파일 배열에 경로를 저장 // 쿼리가없는 폴더를 만나기 때문에 모든 하위 폴더와 파일이 포함되어 있기 때문에 재귀적인 공개 정적 배열리스트 <string> dir (파일 Dirfile) 예외 {arraylist <string> dirstrarr = new arraylist <string> ()를 사용할 필요가 없습니다. if (dirfile.exists ()) {// ListFiles ()를 사용하여 현재 경로에서 모든 폴더와 파일을 직접 꺼내서 현재 경로에 모든 폴더와 파일을 파일 배열 파일 파일에 저장합니다 [] = dirfile.listfiles (); for (파일 파일 : 파일) {// 전달 된 매개 변수가 파일 분리기로 끝나는 경우, 즉 /또는 /, 즉, (dirfile.getPath (). endswith (file.separator)) {dirstrarr.add (dirfile.getPath () + file.getname ()); } else {// 그렇지 않으면 파일 분리기가없는 경우 파일 분리기를 추가하고 파일 이름을 경로에 추가합니다 (dirstrarr.add (dirfile.getPath () + file.separator + file.getName ()); }} return dirstrarr; } 이 방법은 f :/aa 아래에 새로 생성 된 폴더에서 xlsx를 읽지 않는 것입니다. 읽기 과정에서 폴더가 모든 하위 폴더 및 파일을 읽으려면 재귀가 사용되고 전역 동적 배열이 먼저 설정됩니다.
public static arraylist <string> dirallstrarr = new arraylist <string> ();
그런 다음 방법은 다음과 같습니다.
public static void dirall (file dirfile)은 예외를 {if (dirfile.exists ()) {파일 파일 [] = dirfile.listfiles (); for (파일 파일 : 파일) {// 폴더가 발생하면 재귀로 호출됩니다. if (file.isdirectory ()) {// 재귀 적으로 Dirall (file)을 호출합니다. } else {// 폴더가 발생하면 (dirfile.getPath (). endSwith (file.separator)) {dirallstrarr.add (dirfile.getPath () + file.getName ()); } else {dirallstrarr.add (dirfile.getPath () + file.separator + file.getName ()); }}}}}}}}}}}}}}}}}}}}}}}} 실제로 읽기 과정에서 키는 ListFiles () 메소드를 사용 하여이 폴더의 모든 파일 목록을 얻는 것입니다. 그런 다음 "[Java] 폴더와 모든 서브 파일 및 서브 폴더를 이동하려면 (링크를 열려면 클릭) 및"[Java]는 파일 입력 및 출력 스트림을 사용하여 한 폴더의 모든 파일을 다른 폴더로 복사하는 작업을 완료 한 다음 (링크를 열려면 클릭) 폴더를 재발하게 만듭니다.
위의 전체 방법은 다음과 같은 Java 파일입니다.
java.io.*; java.util.*; public class filleList {// 파일 경로를 저장하기 위해 전역 동적 배열을 설정하고 폴더를 가로 지르고 모든 하위 폴더와 파일을 포함 할 때 재귀가 사용되므로 공개 정적 ArrayList <string> dirallstrarr = new ArrayList <straylist <straylist> (); // 현재 경로 아래의 모든 폴더와 파일을 쿼리하고 파일 배열에 경로를 저장하는 것이 있습니다. // 폴더에는 쿼리가 없으므로 모든 하위 폴더와 파일이 포함되어 있으므로 공개 정적 ArrayList <String> DIR (FILE DIRFILE) EXCERTION {ARRAYLIST <STRING> DIRSTRARR = NEW ARRAYLIST <String> ()를 사용할 필요가 없습니다. if (dirfile.exists ()) {// listfiles ()를 사용하여 현재 경로에서 모든 폴더와 파일을 직접 꺼내서 모든 폴더와 파일을 파일 배열 파일에 저장합니다 [] = dirfile.listfiles (); for (파일 파일 : 파일) {// 전달 된 매개 변수가 파일 분리기로 끝나는 경우, 즉 / 또는 /, 즉, (dirfile.getPath (). endswith (file.separator)) {dirstrarr.add (dirfile.getPath () + file.getname ()); } else {// 그렇지 않으면 파일 분리기가없는 경우 파일 분리기를 추가하고 파일 이름을 경로에 추가합니다 (dirstrarr.add (dirfile.getPath () + file.separator + file.getName ()); }}} return dirstrarr; } public static void dirall (file dirfile)은 예외를 {if (dirfile.exists ()) {파일 파일 [] = dirfile.listfiles (); for (파일 파일 : 파일) {// 폴더가 발생하면 재귀로 호출됩니다. if (file.isdirectory ()) {// 재귀 적으로 Dirall (file)을 호출합니다. } else {// 폴더가 발생하면 (dirfile.getPath (). endSwith (file.separator)) {dirallstrarr.Add (diRllStarr.GetPath () + file.getName ()); } else {dirallstrarr.add (dirfile.getPath () + file.separator + file.getName ()); }}}} public static void main (String [] args)은 예외 {file dirfile = 새 파일 ( "f :/aa"); System.out.println (dir (dirfile)); DIRALL (DIRFILE); System.out.println (Dirallstrarr); }}작업 결과는 다음과 같습니다.
위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.