找回密碼 或 安全提問
 註冊
|註冊|登錄

伊莉討論區

搜索
發表文章前請先閱讀相關版規你準備好成為出色的版主了嗎?安全提問(回答) 和 永久尊貴會員 事宜
巨乳蘿莉偷拍ntrsiro中出按摩
大笨淡vtuber hrabivtuberha25355234hgd

休閒聊天興趣交流學術文化旅遊交流飲食交流家庭事務PC GAMETV GAME
熱門線上其他線上感情感性寵物交流家族門派動漫交流貼圖分享BL/GL
音樂世界影視娛樂女性頻道潮流資訊BT下載區GB下載區下載分享短片
電腦資訊數碼產品手機交流交易廣場網站事務長篇小說體育運動時事經濟
上班一族博彩娛樂

(4月新番)[繁]神明渴

(4月新番)[繁]搖曳露

[繁]戰隊大失格03-

[繁]月光下的異世界之

【高清繁中】✡ 霹靂

【超清繁中】✡ 霹靂
C & C++ 語言C# 語言Visual Basic 語言PHP 語言JAVA 語言
查看: 1000|回復: 1
打印上一主題下一主題

[問題]IO檔案複製[複製鏈接]

帖子
989
積分
1 點
潛水值
39514 米
跳轉到指定樓層
樓主
發表於 2012-12-22 12:41 AM|只看該作者|倒序瀏覽
功能是讀取一檔案(在c1輸入名稱),然後在c2打上複製後的新名稱,但兩個文件的內容是一樣的,只是複製檔案後更改名稱,當c1與c2設定完成後,按下b1進行檔案複製,我想請問一下按鈕的部分如何寫讓他執行檔案複製的函式?


  1. import java.applet.Applet;
  2. public class 測試 extends Applet implements ActionListener {
  3. private  Button b1=new Button("  Go  ");
  4. private  Button b2=new Button("Cancel");
  5. private  static TextField c1=new TextField(30);
  6. private  static TextField c2=new TextField(30);
  7. private  Label l1=new Label("Enter source file_name:");
  8. private  Label l2=new Label("Enter destination file_name:");
  9. public void init()
  10. {     
  11. resize(300,300);
  12. add(l1); add(c1); add(l2); add(c2); add(b1); add(b2);
  13. b1.addActionListener(this); b2.addActionListener(this);
  14. c1.addActionListener(this); c2.addActionListener(this);
  15. }
  16. public void paint(Graphics g)
  17. {
  18. b1.setLocation(80,200);b2.setLocation(170,200);
  19. c2.setLocation(35,100);
  20. }
  21.    
  22. public Button getB1()
  23. {return b1;}
  24. public Button getB2()
  25. {return b2;}
  26.      
  27.      
  28. public static void main() throws IOException,FileNotFoundException{
  29.    
  30.         try{
  31.             
  32.         int k;
  33.         int i=0;
  34.         String f1,f2;
  35.         f1=c1.getText();
  36.         f2=c2.getText();   
  37.         FileInputStream a=new FileInputStream(f1);
  38.         FileOutputStream r=new FileOutputStream(f2);
  39.          
  40.             while ((k=a.read()) !=-1)
  41.               {   
  42.                i++;
  43.                r.write(k);
  44.               }
  45.             a.close();
  46.             r.close();
  47.             System.exit(0);
  48.             }
  49.             catch(Exception e1)
  50.               {
  51.                 e1.printStackTrace();
  52.               }
  53.         }
  54. public void actionPerformed(ActionEvent e) {

  55.     }
  56. }
複製代碼

...
瀏覽完整內容,請先 註冊登入會員
分享分享0收藏收藏0支持支持0
若瀏覽伊莉的時侯發生問題或不正常情況,請使用Internet Explorer(I.E)。

使用道具檢舉

帖子
335
積分
13 點
潛水值
18490 米
頭香
發表於 2012-12-22 09:47 AM|只看該作者
1.可以把main method檔案複製那一段程式碼,放到actionPerformed
2.把檔案複製獨立出來一個method,actionPerformed執行那段method
另外檔案複製可以改成FileChannel速度會有很大的提升喔。
  1. FileInputStream source = new FileInputStream(srcFile);
  2. FileOutputStream destination = new FileOutputStream(destFile);
  3. FileChannel sourceFileChannel = source.getChannel();
  4. FileChannel destinationFileChannel = destination.getChannel();
  5. long size = sourceFileChannel.size();
  6. sourceFileChannel.transferTo(0, size, destinationFileChannel);
複製代碼
...
瀏覽完整內容,請先 註冊登入會員
如果發覺自己無法使用一些功能或出現問題,請按重新整理一次,並待所有網頁內容完全載入後5秒才進行操作。

使用道具檢舉

您需要登錄後才可以回帖 登錄 | 註冊

Powered by Discuz!

© Comsenz Inc.

重要聲明:本討論區是以即時上載留言的方式運作,對所有留言的真實性、完整性及立場等,不負任何法律責任。而一切留言之言論只代表留言者個人意見,並非本網站之立場,用戶不應信賴內容,並應自行判斷內容之真實性。於有關情形下,用戶應尋求專業意見(如涉及醫療、法律或投資等問題)。 由於本討論區受到「即時上載留言」運作方式所規限,故不能完全監察所有留言,若讀者發現有留言出現問題,請聯絡我們。有權刪除任何留言及拒絕任何人士上載留言,同時亦有不刪除留言的權利。切勿上傳和撰寫 侵犯版權(未經授權)、粗言穢語、誹謗、渲染色情暴力或人身攻擊的言論,敬請自律。本網站保留一切法律權利。
回頂部