File을 열거나 저장할 수 있는 Dialog를 띄워준다.
JFileChooser fc = new JFileChooser(열게 할 위치);
package home;
import java.io.File;
import javax.swing.JFileChooser;
public class MyJFileChooserEx {
public static void main(String[] args) {
JFileChooser fc = new JFileChooser(".");
int result = fc.showOpenDialog(null);
if(result == JFileChooser.APPROVE_OPTION) {
File f = fc.getSelectedFile();
System.out.println(f.getPath());
}
}
}
→ showOpenDialog( ) : 파일을 열 수 있는 다이얼로그창이 뜬다.
→ showSaveDialog( ) : 파일을 저장할 수 있는 다이얼로그 창이 뜬다.
→ JFileChooser.APPROVE_OPTION : 승인을 한다.(선택한 파일을 연다.)
package home;
import javax.swing.JFileChooser;
import javax.swing.filechooser.FileNameExtensionFilter;
public class MyJFileChooserEx1 {
public static void main(String[] args) {
JFileChooser filechooser = new JFileChooser(".");
filechooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
filechooser.setDialogTitle("여기 타이틀이 변해요");
filechooser.setApproveButtonText("확실해요?");
filechooser.setFileFilter(new FileNameExtensionFilter("text파일", "txt"));
filechooser.showOpenDialog(null);
}
}
→ setFileSelectionMode( ) : 파일의 선택모드를 정해준다.
JFileChooser.DIRECTORIES_ONLY : 디렉토리만 선택가능
JFileChooser.FILES_ONLY(default) : 파일만 선택가능
JFileChooser.FILES_AND_DIRECTORIES : 둘다 선택가능
→ setDialogTitle( ) : 다이얼로그창의 타이틀을 변경해준다.
→ setApproveButtonText( ) : 승인 버튼의 문자를 변경해준다.
→ setFileFilter( ) : 파일 필터를 지정해준다.
→ addChoosableFileFilter( ) : 추가로 필터를 지정해준다.
→ FileNameExtensionFilter("형식 이름", "형식") : 확장자 선택 필터를 지정해준다.
package home;
import java.io.File;
import javax.swing.JFileChooser;
import javax.swing.filechooser.FileFilter;
import javax.swing.filechooser.FileNameExtensionFilter;
public class MyJFileChooserEx1 {
public static void main(String[] args) {
JFileChooser filechooser = new JFileChooser(".");
filechooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
filechooser.setDialogTitle("여기 타이틀이 변해요");
filechooser.setApproveButtonText("확실해요?");
filechooser.setFileFilter(new FileFilter() {
//파일 형식 이름을 지정해준다.
@Override
public String getDescription() {
return "2K 미만 파일";
}
//내가 원하는 파일 필터를 지정해준다.
@Override
public boolean accept(File f) {
if(f.length() < 2000) {
return true;
}else {
return false;
}
}
});
filechooser.showOpenDialog(null);
}
}