Java (文件选择器) 保存文件
跳出保存的对话框之后,用户选择一个地方保存。而我们程序编写者,编写代码时候,如何得知用户保存时候输入的文件名。我用:JFileChooser,我找不到方法。而我有个同学,...
跳出保存的对话框之后,用户选择一个地方保存。而我们程序编写者,编写代码时候,如何得知用户保存时候输入的文件名。
我用:JFileChooser,我找不到方法。
而我有个同学,他用FileDialog,直接用了语句,String fileName = a.getDirectory() + a.getFile(),然后BufferedWriter buf = new BufferedWriter(new FileWriter(fileName));就解决了。这让我很无语
对于那同学的解法,我有2点疑惑:
1,JFileChooser应该比FileDialog更强大的,可是,我怎么就是找不到解法。
2,那同学解法里,调用的方法getFile(),读了API,解释是:获取此文件对话框的选定文件。这我就不懂了。如果“打开”对话器,调用这方法我可以理解,但是,“保存”?我不确定,因为我们根本没有选取,我们只是选了个地方,然后保存自己的文件。
PS:事后满意可以加分
最好能把我的2个问题都解释下。
我需要的是“保存”,不是“打开” 展开
我用:JFileChooser,我找不到方法。
而我有个同学,他用FileDialog,直接用了语句,String fileName = a.getDirectory() + a.getFile(),然后BufferedWriter buf = new BufferedWriter(new FileWriter(fileName));就解决了。这让我很无语
对于那同学的解法,我有2点疑惑:
1,JFileChooser应该比FileDialog更强大的,可是,我怎么就是找不到解法。
2,那同学解法里,调用的方法getFile(),读了API,解释是:获取此文件对话框的选定文件。这我就不懂了。如果“打开”对话器,调用这方法我可以理解,但是,“保存”?我不确定,因为我们根本没有选取,我们只是选了个地方,然后保存自己的文件。
PS:事后满意可以加分
最好能把我的2个问题都解释下。
我需要的是“保存”,不是“打开” 展开
4个回答
展开全部
JFileChooser fd=new JFileChooser();
fd.showSaveDialog(null);
File f=fd.getSelectedFile();
System.out.println(f.getName());
疑惑解答:
1. JFileChooser.getSelectedFile()返回一个文件对象,调这个文件对象的getName()很容易得到用户输入的文件名。返回文件对象既包含了文件路径也包含了文件名,这也体现了Java面向对象的思想。
2. Java的文件对象在文件系统中是可以存在,也可不存在的,所以Java的文件对象有exists()、
createNewFile()、mkdir()等方法。所以文件保存对话框返回的文件对象不一定在文件系统实际存在,而仅仅是一串路径的表示。
fd.showSaveDialog(null);
File f=fd.getSelectedFile();
System.out.println(f.getName());
疑惑解答:
1. JFileChooser.getSelectedFile()返回一个文件对象,调这个文件对象的getName()很容易得到用户输入的文件名。返回文件对象既包含了文件路径也包含了文件名,这也体现了Java面向对象的思想。
2. Java的文件对象在文件系统中是可以存在,也可不存在的,所以Java的文件对象有exists()、
createNewFile()、mkdir()等方法。所以文件保存对话框返回的文件对象不一定在文件系统实际存在,而仅仅是一串路径的表示。
展开全部
用getSelectedFile()方法,反回的是一个FILE对象。
如下是一个典型的例子,供参考:
public void actionPerformed(ActionEvent e) {
//Handle open button action.
if (e.getSource() == openButton) {
int returnVal = fc.showOpenDialog(FileChooserDemo.this);
if (returnVal == JFileChooser.APPROVE_OPTION) {
File file = fc.getSelectedFile();
//This is where a real application would open the file.
log.append("Opening: " + file.getName() + "." + newline);
} else {
log.append("Open command cancelled by user." + newline);
}
} ...
}
如下是一个典型的例子,供参考:
public void actionPerformed(ActionEvent e) {
//Handle open button action.
if (e.getSource() == openButton) {
int returnVal = fc.showOpenDialog(FileChooserDemo.this);
if (returnVal == JFileChooser.APPROVE_OPTION) {
File file = fc.getSelectedFile();
//This is where a real application would open the file.
log.append("Opening: " + file.getName() + "." + newline);
} else {
log.append("Open command cancelled by user." + newline);
}
} ...
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2010-12-03
展开全部
chooser.getCurrentDirectory().getAbsolutePath()
+chooser.getSelectedFile();
就可以得到保存文件的路径
+chooser.getSelectedFile();
就可以得到保存文件的路径
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询