Java 文件输出路径选着
我要文件输出的路径选择对话框可是FileDailog只有SAVE和LOAD选着路径是要输入文件名才可以保存,可我只要路径。请问高手该怎么设置QQ:371390323...
我要文件输出的路径选择对话框
可是FileDailog 只有SAVE和LOAD 选着路径是要输入文件名才可以保存,可我只要路径。请问高手该怎么设置QQ:371390323 展开
可是FileDailog 只有SAVE和LOAD 选着路径是要输入文件名才可以保存,可我只要路径。请问高手该怎么设置QQ:371390323 展开
3个回答
展开全部
可以通过swing技术实现,继承自JFileChooser 即可。也可以设置固定类型的文件选择。
举例:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package hkrt.b2b.util;
import java.io.File;
//import java.io.FileFilter;
import javax.swing.JFileChooser;
import javax.swing.filechooser.FileFilter;
/**
*/
public class FileChooser extends JFileChooser {
JFileChooser jfc = new JFileChooser();
public String openWin() {
jfc.setAcceptAllFileFilterUsed(false);//设置文件过滤条件,在文件选择中没有“所有文件”的选项
jfc.setFileSelectionMode(JFileChooser.FILES_ONLY);//设置文件选择类型,在这里只是选择具体文件
jfc.setFileFilter(
new FileFilter() {
@Override
public boolean accept(File f) {
if(f.getName().toLowerCase().endsWith(".xls")){
return f.getName().toLowerCase().endsWith(".xls");//添加过滤文件类型。以后缀做判断
} else if (f.getName().toLowerCase().endsWith(".xlsx")){
return f.getName().toLowerCase().endsWith(".xlsx");
}
return false;
}
@Override
public String getDescription() {
return "Excel File";//在文件类型中的显示
}
});
jfc.showOpenDialog(null);
File xls = jfc.getSelectedFile();
if(xls == null){
return "";
}
String resultOpen = jfc.getSelectedFile().getPath();//获取文件路径
return resultOpen;
}
}
备注:以上方法就获取到了文件的绝对路径,返回值即是路径值。
举例:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package hkrt.b2b.util;
import java.io.File;
//import java.io.FileFilter;
import javax.swing.JFileChooser;
import javax.swing.filechooser.FileFilter;
/**
*/
public class FileChooser extends JFileChooser {
JFileChooser jfc = new JFileChooser();
public String openWin() {
jfc.setAcceptAllFileFilterUsed(false);//设置文件过滤条件,在文件选择中没有“所有文件”的选项
jfc.setFileSelectionMode(JFileChooser.FILES_ONLY);//设置文件选择类型,在这里只是选择具体文件
jfc.setFileFilter(
new FileFilter() {
@Override
public boolean accept(File f) {
if(f.getName().toLowerCase().endsWith(".xls")){
return f.getName().toLowerCase().endsWith(".xls");//添加过滤文件类型。以后缀做判断
} else if (f.getName().toLowerCase().endsWith(".xlsx")){
return f.getName().toLowerCase().endsWith(".xlsx");
}
return false;
}
@Override
public String getDescription() {
return "Excel File";//在文件类型中的显示
}
});
jfc.showOpenDialog(null);
File xls = jfc.getSelectedFile();
if(xls == null){
return "";
}
String resultOpen = jfc.getSelectedFile().getPath();//获取文件路径
return resultOpen;
}
}
备注:以上方法就获取到了文件的绝对路径,返回值即是路径值。
展开全部
下面是我BS项目 保存文件的部分代码 就是出来一个类似文件另存为的对话框 让选择路径就可以了,文件名是在类中已经定义好的
response.setContentType("application/text;charset=GBK");
response.setHeader("Content-Disposition", "attachment; filename=\""
+ FileName + ".txt\"");
PrintWriter out;
out = response.getWriter();
out.write(strOut.toString());
response.setContentType("application/text;charset=GBK");
response.setHeader("Content-Disposition", "attachment; filename=\""
+ FileName + ".txt\"");
PrintWriter out;
out = response.getWriter();
out.write(strOut.toString());
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
import java.awt.BorderLayout;
public class Test{
private JFrame frame;
public Test() {
frame = new JFrame();
frame.setBounds(100, 100, 400, 200);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
final JTextField text = new JTextField();
text.setSize(120, 24);
JButton btn = new JButton("浏览");
frame.add(text, BorderLayout.NORTH);
frame.add(btn, BorderLayout.CENTER);
frame.setVisible(true);
btn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JFileChooser chooser = new JFileChooser();
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); // 只显示目录
int re = chooser.showOpenDialog(frame);
if (re == JFileChooser.APPROVE_OPTION) {
text.setText(chooser.getSelectedFile().getPath());
}
}
});
}
public static void main(String[] args) {
new Test();
}
}
看看是这个意思吗? 双击是肯定不行的, 点选上文件夹点打开, 就能返回这个文件夹的File.
public class Test{
private JFrame frame;
public Test() {
frame = new JFrame();
frame.setBounds(100, 100, 400, 200);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
final JTextField text = new JTextField();
text.setSize(120, 24);
JButton btn = new JButton("浏览");
frame.add(text, BorderLayout.NORTH);
frame.add(btn, BorderLayout.CENTER);
frame.setVisible(true);
btn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JFileChooser chooser = new JFileChooser();
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); // 只显示目录
int re = chooser.showOpenDialog(frame);
if (re == JFileChooser.APPROVE_OPTION) {
text.setText(chooser.getSelectedFile().getPath());
}
}
});
}
public static void main(String[] args) {
new Test();
}
}
看看是这个意思吗? 双击是肯定不行的, 点选上文件夹点打开, 就能返回这个文件夹的File.
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询