자바꼼나뭉
60
2021-05-09 03:42:13
1
113

자바 코드 질문있습니다.


C 드라이브 내에서 가장 파일이 많은 풀더의 경로,갯수,총용량을 구하는 코든데 해석 도와주세요 ㅠㅠ

색입힌 부분이랑왜  public static ~~ 을 세번이나 하는지 모르겠습니다. 

// 설명 나름대로 썼는데 맞는지 봐주세요 ㅜㅜ

import java.io.File; public class AccountingApp { static class Result { String path; // 경로 의 데이터타입 = 문자열 int maxCount; // 갯수의 데이터타입 = 정수형 } public static void getMaxFileCount(String absFilename, Result result) { int r=0; File file = new File(bsFilename); // bsFilename 경로에 file 디렉토리를 생성 if (file.isDirectory()) { //file 이 디렉토리 라면 String[] fileList = file.list(); // 디렉토리 안의 file list 를 문자열로 출력 if (fileList!=null && fileList.length>0) { // file list 값이 있거나 크기가 0이상 일때 System.out.println(absFilename+" : "+fileList.length); // 실행한다 r = fileList.length; // r을 파일의 크기의 변수로 지정 if (r>result.maxCount) { // 잘모르겠습니다. result.maxCount = r; // 잘모르겠습니다. result.path = absFilename; // 잘모르겠습니다. } int i; for (i=0; i<fileList.length; i++) { // 파일의 크기보다 커지기 전까지 반복 String filePath = absFilename+File.separator+fileList[i]; // 잘모르겠습니다. getMaxFileCount(filePath, result); // 잘모르겠습니다. } } } } public static long folderSize(String path) { // 이해가 잘안됩니다. long r = 0; File file = new File(path); // path 경로에 file 디렉토리 형성 String[] fileList = file.list(); // 디렉토리 내의 file 리스트 를 문자열형태로 출력하겠다. if (fileList!=null && fileList.length>0) { file 리스트 값이 있거나 크기가 0보다 클때 int i; for (i=0; i<fileList.length; i++) { // file 리스트의 크기보다 작아질때까지 1씩증감반복 String filePath = path+File.separator+fileList[i]; // 잘모르겠습니다. r += new File(filePath).length(); // 잘모르겠습니다. } } return r; } public static void main(String[] args) { Result r = new Result(); // result는 머고 왜 경로가 없죠 ? getMaxFileCount("C:\\windows", r); System.out.println("-------------------- Result ----------------------"); System.out.println(r.path+" : "+r.maxCount+" : "+folderSize(r.path)); } }



0
  • 답변 1

  • 개봉박살
    349
    2021-05-10 11:55:45

    자바를 다시 공부하는걸로 합시다..

  • 로그인을 하시면 답변을 등록할 수 있습니다.