JFileChooser就在javax.swing里。
getSelectedFile()获得在选取器中选取的一个文件的引用(可能是文件,可能是目录,可能是null,要自己判断)。
要过滤文件类型需要定制自己的FileFilter,下例接受指定扩展名的文件,比如new PicFilter("jpg;gif", "Pictures")只jpg/gif为扩展名的文件。
class PicFilter extends javax.swing.filechooser.FileFilter {
Vector extensionsToFilter = new Vector();
String typeDescription;
public PicFilter(String exts, String desp) {
super();
StringTokenizer st = new StringTokenizer(exts, ";");
while (st.hasMoreElements())
extensionsToFilter.add(st.nextElement());
typeDescription = desp;
}
public boolean accept(File file) {
if (file.isDirectory())
return true;
String fileName = file.getName();
int periodIndex = fileName.lastIndexOf(".");
if (periodIndex >0 && periodIndex < fileName.length() -1) {
String extension = fileName.substring(periodIndex +1).toLowerCase();
for (int i = 0; i < extensionsToFilter.size(); i++)
if (extension.equals(extensionsToFilter.elementAt(i)))
return true;
}
return false;
}
public String getDescription() {
String s = "";
for (int i = 0; i <extensionsToFilter.size(); i++)
s += "*." + extensionsToFilter.elementAt(i) + "; ";
return typeDescription + ": " + s;
}
}
getSelectedFile()获得在选取器中选取的一个文件的引用(可能是文件,可能是目录,可能是null,要自己判断)。
要过滤文件类型需要定制自己的FileFilter,下例接受指定扩展名的文件,比如new PicFilter("jpg;gif", "Pictures")只jpg/gif为扩展名的文件。
class PicFilter extends javax.swing.filechooser.FileFilter {
Vector extensionsToFilter = new Vector();
String typeDescription;
public PicFilter(String exts, String desp) {
super();
StringTokenizer st = new StringTokenizer(exts, ";");
while (st.hasMoreElements())
extensionsToFilter.add(st.nextElement());
typeDescription = desp;
}
public boolean accept(File file) {
if (file.isDirectory())
return true;
String fileName = file.getName();
int periodIndex = fileName.lastIndexOf(".");
if (periodIndex >0 && periodIndex < fileName.length() -1) {
String extension = fileName.substring(periodIndex +1).toLowerCase();
for (int i = 0; i < extensionsToFilter.size(); i++)
if (extension.equals(extensionsToFilter.elementAt(i)))
return true;
}
return false;
}
public String getDescription() {
String s = "";
for (int i = 0; i <extensionsToFilter.size(); i++)
s += "*." + extensionsToFilter.elementAt(i) + "; ";
return typeDescription + ": " + s;
}
}
File file = chooser.getSeletedFile(); getSeletedFile()这个方法不懂呀是什么意思啊?
这个是获得你所选择保存文件的绝对路径。
如何在"文件类型" 中加入其它类型啊 (如: *.EXE / .TXT/*.JAVA/*.CLASS..)
这个要用到FileFilter类来进行加入。