FileSystemView — 파일 시스템 뷰 추상 클래스
FileSystemView — 파일 시스템 뷰 추상 클래스
FileSystemView는 JFileChooser와 파일 시스템 사이의 관문 역할을 하는 클래스입니다. OS별 파일 시스템 정보를 최대한 추론해 제공합니다.
본문
public abstract class FileSystemView extends Object
FileSystemView는 JFileChooser의 파일 시스템 관문입니다. JDK1.1 File API는 루트 파티션, 파일 유형 정보, 숨김 파일 비트 같은 정보에 접근할 수 없으므로, 이 클래스는 가능한 한 많은 OS 특정 파일 시스템 정보를 추론하도록 설계되었습니다. Java 라이선스 사용자는 주어진 운영체제를 더 잘 처리하기 위해 서로 다른 FileSystemView 구현을 제공할 수도 있습니다.
getFileSystemView
public static FileSystemView getFileSystemView()
파일 시스템 뷰를 반환합니다.
- 반환값: 파일 시스템 뷰
isRoot
public boolean isRoot(File f)
주어진 파일이 탐색 가능한 트리의 루트인지 여부를 판별합니다. 예: Windows 98에는 Desktop 폴더라는 루트가 하나 있고, DOS는 드라이브 문자마다 C:\ , D:\ 등 루트가 하나씩 있으며, Unix에는 "/" 디렉터리라는 루트가 하나 있습니다. 기본 구현은 ShellFolder 클래스에서 정보를 얻습니다.
- 매개변수:
f- 디렉터리를 나타내는File객체 - 반환값:
f가 탐색 가능한 트리의 루트이면true
isTraversable
public Boolean isTraversable(File f)
파일(디렉터리)을 방문할 수 있으면 true를 반환합니다. 디렉터리를 탐색할 수 없으면 false를 반환합니다.
- 매개변수:
f-File - 반환값: 파일/디렉터리를 탐색할 수 있으면
true, 그렇지 않으면false - 버전: 1.4
getSystemDisplayName
public String getSystemDisplayName(File f)
시스템 파일 브라우저에서 표시되는 파일·디렉터리·폴더의 이름입니다. Windows 예: "M:" 디렉터리는 "CD-ROM (M:)"으로 표시됩니다. 기본 구현은 ShellFolder 클래스에서 정보를 얻습니다.
- 매개변수:
f-File객체 - 반환값: 네이티브 파일 선택기가 표시하는 파일 이름
- 버전: 1.4
getSystemTypeDescription
public String getSystemTypeDescription(File f)
시스템 파일 브라우저에서 표시되는 파일·디렉터리·폴더의 유형 설명입니다. Windows 예: "Desktop" 폴더는 "Desktop"으로 설명됩니다. 네이티브 ShellFolder 구현이 있는 플랫폼에서는 재정의합니다.
- 매개변수:
f-File객체 - 반환값: 네이티브 파일 선택기가 표시하는 파일 유형 설명, 네이티브 정보가 없으면 null
- 버전: 1.4
getSystemIcon
public Icon getSystemIcon(File f, int width, int height)
요청된 크기의 시스템 파일 브라우저에서 표시되는 파일·디렉터리·폴더의 아이콘을 반환합니다. 예:
FileSystemView fsv = FileSystemView.getFileSystemView();
Icon icon = fsv.getSystemIcon(new File("application.exe"), 64, 64);
JLabel label = new JLabel(icon);
- 매개변수:
f- 아이콘을 가져올File객체 - 매개변수:
width- 사용자 좌표계에서의 아이콘 너비 - 매개변수:
height- 사용자 좌표계에서의 아이콘 높이 - 반환값: 네이티브 파일 선택기가 표시하는 아이콘, 존재하지 않거나 접근할 수 없는 파일이면 null
- 예외:
IllegalArgumentException- 음수 크기나 null 파일 참조 같은 잘못된 매개변수를 전달한 경우 - 버전: 17
isFileSystem
public boolean isFileSystem(File f)
f가 "Desktop" 같은 특수 폴더가 아닌 실제 디렉터리 또는 파일인지 확인합니다. 디렉터리 선택 시 폴더를 선택할 수 있는지 결정하는 데 UI 클래스가 사용합니다.
- 매개변수:
f-File객체 - 반환값:
f가 실제 파일이나 디렉터리이면true - 버전: 1.4
createNewFolder
public abstract File createNewFolder(File containingDir) throws IOException
기본 폴더 이름으로 새 폴더를 만듭니다.
- 매개변수:
containingDir- 새 폴더를 담을 디렉터리를 나타내는File객체 - 반환값: 새로 만든 폴더를 나타내는
File객체 - 예외:
IOException- 새 폴더를 만들 수 없는 경우
isHiddenFile
public boolean isHiddenFile(File f)
파일이 숨김인지 여부를 반환합니다.
- 매개변수:
f-File객체 - 반환값: 주어진
File이 숨김 파일을 나타내면 true
isFileSystemRoot
public boolean isFileSystemRoot(File dir)
dir이 드라이브나 파티션 같은 파일 시스템 트리의 루트인지 여부입니다. 예: Windows 98에서 "C:"에 대해 true를 반환합니다.
- 매개변수:
dir- 디렉터리를 나타내는File객체 - 반환값:
f가 파일 시스템의 루트이면true - 버전: 1.4
getRoots
public File[] getRoots()
이 시스템의 모든 루트 파티션을 반환합니다. 예를 들어 Windows에서는 "Desktop" 폴더이고, DOS에서는 A:부터 Z:까지의 드라이브입니다.
- 반환값: 이 시스템의 모든 루트 파티션을 나타내는
File객체 배열
getHomeDirectory
public File getHomeDirectory()
홈 디렉터리를 반환합니다.
- 반환값: 홈 디렉터리
getDefaultDirectory
public File getDefaultDirectory()
파일 선택기의 기본 시작 디렉터리를 반환합니다.
- 반환값: 기본 시작 폴더를 나타내는
File객체 - 버전: 1.4
createFileObject
public File createFileObject(File dir, String filename)
dir에서 주어진 filename으로 생성된 File 객체를 반환합니다.
- 매개변수:
dir- 디렉터리를 나타내는 추상 경로명 - 매개변수:
filename- 경로명의String표현 - 반환값:
dir과filename으로 만든File객체
getParentDirectory
public File getParentDirectory(File dir)
dir의 부모 디렉터리를 반환합니다.
- 매개변수:
dir- 질의하는File - 반환값:
dir의 부모 디렉터리,dir이null이면null
isLink
public boolean isLink(File file)
지정된 파일이 getLinkLocation(File)로 얻을 수 있는 셸 해석 링크를 나타내는지 여부를 반환합니다.
- 매개변수:
file- 파일 - 반환값: 링크인지 여부
- 예외:
NullPointerException-file이null인 경우 - 예외:
SecurityException- 호출자에 필요한 권한이 없는 경우 - 버전: 9
getLinkLocation
public File getLinkLocation(File file) throws FileNotFoundException
지정된 파일이 셸 해석 링크일 때 그 링크가 참조하는 일반 파일을 반환합니다. 지정된 파일이 셸 해석 링크가 아니면 null을 반환합니다.
- 매개변수:
file- 파일 - 반환값: 링크된 파일 또는
null - 예외:
FileNotFoundException- 링크된 파일이 존재하지 않는 경우 - 예외:
NullPointerException-file이null인 경우 - 예외:
SecurityException- 호출자에 필요한 권한이 없는 경우 - 버전: 9