下面是一個比較簡單的文件復制器
?
?
?
1.復制的具體實現方法
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
/**
* 指定位置的文件復制到指定位置.
* @author Administrator
*
*/
public class fileCopy {
// 文件復制的方法
public void copyFile(String scrPath, String desPath) {
// 如果路徑正確,得到源文件以及目標文件
try {
FileInputStream fis = new FileInputStream(scrPath);
FileOutputStream fos = new FileOutputStream(desPath);
//讀取文件,并將讀取到的數據直接寫入磁盤.
try {
int read = fis.read();
while (read != -1) {
//將讀取的數據直接寫到磁盤當中
fos.write((byte)read);
read = fis.read();
}
//關閉流
fis.close();
//保證數據能完整寫入到磁盤當中
fos.flush();
//關閉流
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
?
?
?
2.界面
import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
public class fileCopyUI extends JFrame{
public static void main(String args[]){
fileCopyUI ui = new fileCopyUI();
ui.showUI();
}
public void showUI(){
this.setTitle("文件復制器");
this.setSize(300,125);
JButton but = new JButton("復制");
JLabel jl = new JLabel(" 源文件:");
JTextField jf = new JTextField(20);
JLabel jl1 = new JLabel("目標文件:");
JTextField jf1 = new JTextField(20);
this.add(jl);
this.add(jf);
this.add(jl1);
this.add(jf1);
this.add(but);
this.setLayout(new FlowLayout());
this.setLocationRelativeTo(null); //居中顯示
this.setResizable(false);//不可改變大小
this.setDefaultCloseOperation(EXIT_ON_CLOSE);//關閉界面時推出程序
this.setVisible(true);//顯示界面
ActionListenerImpl l = new ActionListenerImpl(jf,jf1);
but.addActionListener(l);
}
}
?
?
?
3.監聽器
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JTextField;
public class ActionListenerImpl implements ActionListener {
private JTextField jf;
private JTextField jf1;
// 獲取文件指定的路徑和關鍵字
public ActionListenerImpl(JTextField jf, JTextField jf1) {
this.jf = jf;
this.jf1 = jf1;
}
public void actionPerformed(ActionEvent e) {
JButton but = (JButton)e.getSource();
if(but.getText().equals("復制")){
fileCopy fc = new fileCopy();
fc.copyFile(jf.getText(), jf1.getText());
}
}
}
?
?
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

