读书人

资料复制程序

发布时间: 2012-06-27 14:20:08 作者: rapoo

文件复制程序

基于对文件输入输出流的一些简单应用,编写了一个文件复制程序(提醒:单核CPU慎用,占用CPU太多)以下是源代码:

?

1.界面

?

package file.iostream;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*;/** * 文件的复制登陆界面 *  * @author lenovo *  */public class FileCopyUI extends JFrame{public static void main(String args[]) {// 创建FileCopy对象FileCopyUI fc = new FileCopyUI();fc.showUI();}/** * 初始化窗口 */public void showUI(){//设置标题this.setTitle("文件复制器  v1.0");//设置窗体大小this.setSize(400,250);//创建流式布局器java.awt.FlowLayout fl=new java.awt.FlowLayout();this.setLayout(fl);//创建一个面板对象JPanel jp=new JPanel();//创建一个尺寸对象java.awt.Dimension di=new java.awt.Dimension(392,96);//设置面板的大小jp.setPreferredSize(di);//创建并给面板加上流式布局器java.awt.FlowLayout fl1=new java.awt.FlowLayout();jp.setLayout(fl1);//创建两个标签,创建两个文本框,一个按钮JLabel jl1=new JLabel("         源文件路径:");final JTextField jt1=new JTextField(20);JLabel jl2=new JLabel("复制后文件路径:");final JTextField jt2=new JTextField(20);JButton jb=new JButton("开始复制");//将标签,文本行,按钮加到面板上去jp.add(jl1);jp.add(jt1);jp.add(jl2);jp.add(jt2);jp.add(jb);//把面板加到窗体this.add(jp);//创建一个多行文本框final JTextArea jta=new JTextArea(5,30);// 创建一个滚动条JScrollPane jsp = new JScrollPane(jta);this.add(jta);this.add(jsp);//窗体大小不可改变this.setResizable(false);//关闭时退出this.setDefaultCloseOperation(3);//将窗体显示出来this.setVisible(true);//给开始复制按钮安装动作监听器jb.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {String start="正在复制……";//将start写入多行文本框中jta.append(start);//得到源文件路径String str1=jt1.getText();//得到复制后文件路径String str2=jt2.getText();//创建一个FileCopy对象FileCopy fc=new FileCopy();//调用复制函数fc.copyflie(str1, str2);String end="复制成功!!!";//将start写入多行文本框中jta.append("\n"+end);}});}}
?

?

?

2.文件复制方法

?

package file.iostream;/** * 文件复制方法类 *  * @author lenovo *  */public class FileCopy {/** * 文件复制的方法 *  * @param srcpath *            :原来的文件文件路径 * @param copypath *            :复制后的文件路径 * @return:是否复制成功 */public void copyflie(String srcpath, String copypath) {try {// 根据给定的路径创建输入流对象java.io.FileInputStream is = new java.io.FileInputStream(srcpath);// 创建一个输出流对象java.io.FileOutputStream os = new java.io.FileOutputStream(copypath);// 读取流的字节int s = is.read();// 读取字节知道读取完,并将读取的字节装入队列while (s != -1) {// 将读取的字节强制转化为字节类型byte b = (byte) (s);// 取出字节os.write(b);// 读取字节s = is.read();}// 强制输出os.flush();// 关闭流is.close();os.close();} catch (Exception ef) {ef.printStackTrace();}}}

?

?

以下是界面效果:
资料复制程序

?

读书人网 >开源软件

热点推荐