请问一个关于存储文件的问题.
我使用FileChooser来实现跳出对话框
代码如下:
import javax.swing.*;
import javax.swing.filechooser.*;
/**
*
* @author Administrator
*/
public class FileChooser {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
JFrame parentFrame = new JFrame("保存");
//if (args.length == 1){
// chooser = new JFileChooser(args[0]);
//}
//else {
chooser = new JFileChooser();
//}
chooser.setDialogTitle("保存");
FileFilter[] fileFilters = new FileFilter[] {
new ExtensionFilter("Excel文件", new String[] {".xls"}),};
for (int i = 0; i < fileFilters.length; i ++){
chooser.addChoosableFileFilter(fileFilters[i]);
}
chooser.setFileFilter(chooser.getAcceptAllFileFilter());
int result = chooser.showSaveDialog(parentFrame);
parentFrame.setVisible(false);
parentFrame.dispose();
}
public static String getCurrentDirectory(){
//System.out.println(chooser.getCurrentDirectory());
return chooser.getCurrentDirectory().toString();
}
private static JFileChooser chooser;
}
文件过滤类如下:
import javax.swing.*;
import javax.swing.filechooser.*;
import java.io.*;
/**
*
* @author Administrator
*/
public class ExtensionFilter extends javax.swing.filechooser.FileFilter{
/** Creates a new instance of ExtensionFilter */
public ExtensionFilter(String desc, String[] extensions) {
this.desc = desc;
this.extensions = (String[]) extensions.clone();
}
public boolean accept(File f) {
if (f.isDirectory() == true){
return true;
}
String name = f.getName();
int length = name.length();
for (int i = 0; i < extensions.length; i++){
String ext = extensions[i];
if (name.endsWith(ext) && name.charAt(length - ext.length()) == '.'){
return true;
}
}
return false;
}
public String getDescription() {
return desc;
}
protected String desc;
protected String[] extensions;
}
想在跳出的存储对话框的"文件名"处输入文件名,然后得到这个文件名.
而我现在只能得到他的现存路径,而要输入的文件名无法得到,请问是不是有什么方法可以直接得到啊?这样我可以将的到的路径和文件名组成一个字符串,调用创建文件的类来实现建立文件.谢谢各位了