用java文件对话框实现文件另存为

请问如何用java的文件对话框实现文件的存储?具体是:我想在我的程序上添加数据库备份功能,数据库在db文件夹里。出现文件对话框时,直接在文件名上出现数据库“manage(... 请问如何用java的文件对话框实现文件的存储?

具体是:我想在我的程序上添加数据库备份功能,数据库在db文件夹里。出现文件对话框时,直接在文件名上出现数据库“manage(备份日期).mdb”,选择路径后,可以把文件保存在选择的路径上!
或者有没有java备份数据库的具体做法,就是在界面上选择浏览,可以把数据库备份到选择的路径上!
展开
 我来答
citytalent
推荐于2018-03-21 · TA获得超过1222个赞
知道小有建树答主
回答量:542
采纳率:0%
帮助的人:578万
展开全部
我觉得用一个文件复制的类就可以实现备份,我大概写了一个,基本功能可以实现,但是总觉得好怪

你可以给JTextField t1 一个初始路径,那样,如果每次都是备份同一个文件直接点保存选路径就可以,如果想备份其他文件再选其他文件就可以了

import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.Calendar;

import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;

public class BakTo extends JFrame implements ActionListener {
JLabel l1 = new JLabel("原始文件");
JTextField t1 = new JTextField(40);
JButton b1 = new JButton("选择");
JLabel l2 = new JLabel("保存目录");
JTextField t2 = new JTextField(40);
JButton b2 = new JButton("保存");
JFileChooser j1 = new JFileChooser();
JFileChooser j2 = new JFileChooser();
static File fileFlag = new File("");

public BakTo() {
setBounds(200, 200, 600, 140);
setLayout(new FlowLayout());
add(l1);
add(t1);
add(b1);
add(l2);
add(t2);
add(b2);
b1.addActionListener(this);
b2.addActionListener(this);
setResizable(false);
setVisible(true);
validate();
}

public void actionPerformed(ActionEvent e) {
try {

if (e.getSource() == b1) {

int n = j1.showOpenDialog(null);
String filename = j1.getSelectedFile().toString();
if (n == JFileChooser.APPROVE_OPTION) {
t1.setText(filename);
fileFlag = new File(filename);
}

}

else if (e.getSource() == b2) {
j2.setCurrentDirectory(fileFlag);// 设置打开对话框的默认路径
j2.setSelectedFile(fileFlag);// 设置选中原来的文件
int n = j2.showSaveDialog(null);
String filename2 = j2.getSelectedFile().toString();
if(filename2.indexOf(".")!=-1){
filename2=filename2.substring(0,filename2.indexOf("."));
}

// 以下两句是获得原文件的扩展名
int flag = t1.getText().lastIndexOf(".");
String kuozhan = t1.getText().substring(flag);
String date = getDate();// 取得当前日期
if (n == JFileChooser.APPROVE_OPTION) {
t2.setText(filename2 +date+ kuozhan);// 把日期和扩展名添加到原来文件的后面
}

int b;
char[] t = new char[25];

// 这里我改用了文件流
FileInputStream input = new FileInputStream(t1.getText());

FileOutputStream output = new FileOutputStream(filename2+date
+ kuozhan);// 把扩展名添加到原来文件的后面

int in = input.read();
while (in != -1) {
output.write(in);
in = input.read();
}
input.close();
output.close();

}
} catch (Exception x) {
System.out.println(x);
}
}

public String getDate() {
Calendar rightNow = Calendar.getInstance();
System.out.println(rightNow.toString());
int year = rightNow.YEAR;
int date = rightNow.DATE;
int month = rightNow.MONTH + 1;
String d = year + "年" + month + "月" + date + "日";
return d;
}

public static void main(String args[]) {
BakTo c1 = new BakTo();
}

}
小雨滴281
2015-08-27 · TA获得超过1660个赞
知道小有建树答主
回答量:1163
采纳率:81%
帮助的人:210万
展开全部
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.filechooser.FileFilter;
import javax.swing.filechooser.FileNameExtensionFilter;
import java.io.File;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.WindowEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class SwingExp extends JFrame implements ActionListener {
JFileChooser chooser;
FileFilter filter;
public static void main(String arg[]) {
new SwingExp();
}
public SwingExp() {
JButton button;
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
} );
setLocation(250,150);
Container pane = getContentPane();
pane.setLayout(new FlowLayout());
button = new JButton("Open");
button.addActionListener(this);
pane.add(button);
button = new JButton("Save");
button.addActionListener(this);
pane.add(button);
pack();
chooser = new JFileChooser();
chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);//设置选择模式,既可以选择文件又可以选择文件夹
String extj[] = { "jpeg","jpg" };
filter = new FileNameExtensionFilter( "JPEG Image",extj);
chooser.setFileFilter(filter);//设置文件后缀过滤器
String extt[] = { "tiff","tif" };
filter = new FileNameExtensionFilter( "TIFF Image",extt);
chooser.setFileFilter(filter);
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
int retval;
String selection = e.getActionCommand();
if(selection.equals("Open")) {
retval = chooser.showOpenDialog(this);//显示"保存文件"对话框
if(retval == JFileChooser.APPROVE_OPTION) {//若成功打开
File file = chooser.getSelectedFile();//得到选择的文件名
System.out.println("File to open " + file);
}
} else if(selection.equals("Save")) {
File file = new File("mongrove.tiff");
chooser.setSelectedFile(file);//设置默认文件名
retval = chooser.showSaveDialog(this);//显示“保存文件”对话框
if(retval == JFileChooser.APPROVE_OPTION) {
file = chooser.getSelectedFile();
System.out.println("File to save " + file);
}
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
辉煌kind
2008-06-10 · TA获得超过1484个赞
知道小有建树答主
回答量:751
采纳率:0%
帮助的人:764万
展开全部
用smartupload里面的文件download功能进行文件下载,在jsp页面里进行客户端下载。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式