【模仿】一个充满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); } }
相关文章推荐
- 中国的大多数软件的一个bug和我眼中最保险的防止程序运行多次的方法
- 一个模仿oso的php论坛程序源码(之二)第1/3页
- 一个有BUG的程序求大牛帮忙
- 一个WPF和SL的严重BUG,能导致任何的寄主程序崩溃
- 现在为了让程序兼容vista,我们需要给程序加上一个manifest文件,可是有时候vc6它就会弹出Resource Compiler Error RC2170 的错误,可能是vc6一个bug,我个人对vc6还是很喜欢的,不过经常会有编译死掉或出错的问题,
- 一个移位操作引发的程序Bug
- 使用Python编写一个模仿CPU工作的程序
- 转 VS2005程序运行时出现MSVCP80D.dll not found错误解决方法(VS 2005的一个“Bug”)
- 一个模仿oso的php论坛程序(之一)第1/2页
- DirectSound的例子程序CaptureSound(.NET version)的一个Bug
- ASP.NET程序运行时出现的一个小BUG
- Erlang 程序引发共享内存 bug 的一个例子
- BroadcastReceiver的生命周期——从程序的一个bug说起
- 一个bug引发对小程序运行原理的思考
- Erlang 程序引发共享内存 bug 的一个例子
- 开源日志库log4c存在的一个bug,程序重启后,每次都重新写新的文件,不是接在在原来的文件中写;
- 用C# WinForm写的一个简单的计算器程序(可以输入复杂的表达式),欢迎大家指出Bug
- Emgu安装程序中的一个小bug
- 用Windbg调试一个Windows自带扫雷程序的逻辑bug
- windows窗口程序一个诡异的bug