您的位置:首页 > 移动开发 > 微信开发

【模仿】一个充满BUG的小程序

2012-02-25 18:37 302 查看
本来不想贴在这儿的,没什么技术含量。

关键一点就是复制按钮的实现了。用到了文件输入输出流和文件通道。(目前暂时不太清楚文件读写操作的原理,后续补上)

复制剪切删除程序源代码

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.channels.FileChannel;

public class Test2 {

public static void main(String args[]) {
final JFrame jf = new JFrame("小程序");
jf.setSize(300,175);
jf.setResizable(false);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setLayout(new FlowLayout(FlowLayout.CENTER, 1, 5));
final JTextField jt1 = new JTextField(23);
final JTextField jt2=new JTextField(23);
JLabel jl1=new JLabel("原路径:");
JLabel jl2=new JLabel("目标路径:");

JButton jbMov = new JButton("剪切");
JButton jbCopy = new JButton("复制");
JButton jbDel = new JButton("删除");
jbMov.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
new File(jt1.getText()).renameTo(new File(jt2.getText()));

}

});
jbCopy.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
fileCopy(jt1.getText(), jt2.getText());
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
public void fileCopy(String source, String destination) throws IOException {
File f = new File(source);
File[] files = f.listFiles();
FileChannel in=null;
FileChannel out=null;
try {
for (File file : files) {
in = new FileInputStream(file).getChannel();
File outFile = new File(destination, file.getName());
out = new FileOutputStream(outFile).getChannel();
in.transferTo(0, in.size(), out);
}
} finally {
if (in != null) {
in.close();
}
if(out !=null){
out.close();
}
}
}
});
jbDel.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
new File(jt1.getText()).delete();
}
});
//        jf.addComponentListener(new ComponentAdapter() {
//
//            @Override
//            public void componentResized(ComponentEvent e) {
//// 用于调整窗口大小,界面设计
//                jf.setTitle(String.valueOf(jf.getSize().width) + " "
//                        + String.valueOf(jf.getSize().height));
//            }
//        });

jf.add(jl1);
jf.add(jt1);
jf.add(jl2);
jf.add(jt2);
jf.add(jbMov);
jf.add(jbCopy);
jf.add(jbDel);
//         jf.pack();
jf.setVisible(true);

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: