more..
package hufs.File;
import hufs.File.*;
import java.io.File;
import java.util.ArrayList;
import java.util.Date;
import java.util.ArrayList;
import java.util.Date;
public class FileListManager {
private File f;
private ArrayList<String> filepath;
private ArrayList<String> filename;
private ArrayList<Long> filesize;
private ArrayList<Date> filedate;
private ArrayList<String> fileformat;
private ArrayList<Byte> isdirectory;
private ArrayList<String> filename;
private ArrayList<Long> filesize;
private ArrayList<Date> filedate;
private ArrayList<String> fileformat;
private ArrayList<Byte> isdirectory;
private int nameIndexCount;
private int pathIndexCount;
private int sizeIndexCount;
private int dateIndexCount;
private int formatIndexCount;
private int pathIndexCount;
private int sizeIndexCount;
private int dateIndexCount;
private int formatIndexCount;
private int filelistSize;
public FileListManager() {
filepath = new ArrayList<String>();
filename = new ArrayList<String>();
filesize = new ArrayList<Long>();
filedate = new ArrayList<Date>();
fileformat = new ArrayList<String>();
isdirectory = new ArrayList<Byte>();
filepath = new ArrayList<String>();
filename = new ArrayList<String>();
filesize = new ArrayList<Long>();
filedate = new ArrayList<Date>();
fileformat = new ArrayList<String>();
isdirectory = new ArrayList<Byte>();
f = new File("./Server");
pathIndexCount = -1;
nameIndexCount = -1;
sizeIndexCount = -1;
dateIndexCount = -1;
formatIndexCount = -1;
nameIndexCount = -1;
sizeIndexCount = -1;
dateIndexCount = -1;
formatIndexCount = -1;
filelistSize = 0;
}
public void search() {
this.getFileArrayList(this.getFileList());
}
this.getFileArrayList(this.getFileList());
}
public boolean exist() {
/*
* 이 함수는 getname 함수 호출 시 증가하는 nameIndexCount값에 영향을 받는다. 다른 함수 get 형식의 함수
* 사용 시 같이 사용시 주의바람
*/
/*
* 이 함수는 getname 함수 호출 시 증가하는 nameIndexCount값에 영향을 받는다. 다른 함수 get 형식의 함수
* 사용 시 같이 사용시 주의바람
*/
if ((filelistSize - 1) > nameIndexCount)
return true;
else
return false;
}
return true;
else
return false;
}
public String getpath() {
pathIndexCount++;
return filepath.get(pathIndexCount);
}
pathIndexCount++;
return filepath.get(pathIndexCount);
}
public String getname() {
nameIndexCount++;
return filename.get(nameIndexCount);
nameIndexCount++;
return filename.get(nameIndexCount);
}
public Long getsize() {
sizeIndexCount++;
return filesize.get(sizeIndexCount);
sizeIndexCount++;
return filesize.get(sizeIndexCount);
}
public Date getdate() {
dateIndexCount++;
return filedate.get(dateIndexCount);
dateIndexCount++;
return filedate.get(dateIndexCount);
}
public String getformat() {
formatIndexCount++;
formatIndexCount++;
if (isdirectory.get(formatIndexCount) == (byte) 0) { // 파일일 경우만 한다.
String format = filename.get(formatIndexCount);
int point = format.lastIndexOf("."); // 맨 마지막 점을 기준으로 확장자를 찾는다.
String format = filename.get(formatIndexCount);
int point = format.lastIndexOf("."); // 맨 마지막 점을 기준으로 확장자를 찾는다.
if (point > 0) // 점이 없거나 처음부터 점 경우는 뺀다.
return format.substring(point + 1);
else
return ".";
} else
// 디렉토리 일경우
return ".";
return format.substring(point + 1);
else
return ".";
} else
// 디렉토리 일경우
return ".";
}
public File[] getFileList() {
return f.listFiles();
}
return f.listFiles();
}
public void getFileArrayList(File[] file) {
for (int i = 0; i < file.length; i++) {
filepath.add(file[i].getPath());
filename.add(file[i].getName());
filesize.add(file[i].length());
filedate.add(new Date(file[i].lastModified()));
filename.add(file[i].getName());
filesize.add(file[i].length());
filedate.add(new Date(file[i].lastModified()));
if (file[i].isDirectory()) { // 디렉토리 일 경우 하위 폴더 및 파일 검사
isdirectory.add((byte) 1);
getFileArrayList(file[i].listFiles());
} else
isdirectory.add((byte) 0);
isdirectory.add((byte) 1);
getFileArrayList(file[i].listFiles());
} else
isdirectory.add((byte) 0);
filelistSize++;
}
}
}
}
public int fileArrayListSize() {
return filelistSize;
}
}
return filelistSize;
}
}
=> 지정된 Root 디렉토리를 시작으로 포함된 모든 폴더및 파일을 검색하여 배열에 저장한다.
댓글 없음:
댓글 쓰기