程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 使用字節流復制文件

使用字節流復制文件

編輯:關於JAVA

以前在學校,為了准備某個證書考試,預習的時候寫的。沒什麼技術含量,主要是熟悉一下,J2SE中基本控件的操作,以及事件的綁定,等等。

Example:

  1. import Java.io.*;
  2. import Java.util.Scanner;
  3. /**
  4. * Java使用字節流復制圖像
  5. * @author Administrator
  6. *@time 2011年6月9日 19:55:10
  7. */public class MyTest2 {
  8. private String filename; //文件名
  9. private double filesize; //文件大小
  10. public static void main(String agrs[]){
  11. MyTest2 tt2=new MyTest2();
  12. String frompath="E:\\QQ.png";
  13. String topath="F:\\QQ.png";
  14. if(tt2.CheckFile(frompath, topath)){
  15. tt2.CopyFile(frompath, topath);
  16. }
  17. }
  18. //復制文件
  19. public void CopyFile(String frompath,String topath){
  20. File file1=new File(frompath);//源文件路徑
  21. File file2=new File(topath);//目標文件路徑
  22. filename=file1.getName();
  23. filesize=(file1.length())/1024/1024;
  24. System.out.println("********************文件屬性********************");
  25. System.out.println("源文件路徑:"+frompath);
  26. System.out.println("目標文件路徑:"+topath);
  27. System.out.println("文件名稱:"+filename);
  28. System.out.println("文件大小:"+filesize+" MB");
  29. int ch=0;
  30. try{
  31. FileInputStream fin=new FileInputStream(file1);
  32. FileOutputStream fout=new FileOutputStream(file2);
  33. ch=fin.read();
  34. System.out.println("開始復制!");
  35. long startTime=System.currentTimeMillis(); //獲取開始時間
  36. while(ch!=-1){
  37. fout.write(ch);
  38. ch=fin.read();
  39. }
  40. long endTime=System.currentTimeMillis(); //獲取結束時間
  41. System.out.println("程序運行時間: "+(endTime-startTime)+"ms");
  42. System.out.println("復制完畢!");
  43. //關閉流
  44. fin.close();
  45. fout.close();
  46. }
  47. catch(Exception e){
  48. System.err.println("Error: "+e);
  49. }
  50. }
  51. //驗證文件是否存在
  52. public boolean CheckFile(String frompath,String topath){
  53. File file1=new File(frompath);//源文件路徑
  54. File file2=new File(topath);//目標文件路徑
  55. if(!file1.exists()){
  56. //文件不存在
  57. System.out.println("源文件不存在,請檢查路徑是否正確!");
  58. return false;
  59. }
  60. else{
  61. if(file2.exists()){
  62. System.out.println("目標文件已經存在,請選擇 覆蓋/取消 ?");
  63. System.out.println("1: 覆蓋 2:取消");
  64. try{
  65. Scanner sc=new Scanner(System.in);
  66. int a=sc.nextInt();
  67. if(a==1){
  68. System.out.println("你輸入的是1,操作將繼續,目標文件將被覆蓋。");
  69. return true;
  70. }else if(a==2){
  71. System.out.println("您輸入了2,操作將取消。");
  72. return false;
  73. }
  74. else{
  75. System.out.println("輸入無效。。;");
  76. CheckFile(frompath, topath);
  77. return false; }
  78. }
  79. catch(Exception ee){
  80. System.out.println("輸入無效。。;");
  81. CheckFile(frompath, topath);
  82. return false;
  83. }
  84. }
  85. }
  86. return false; }
  87. }

原文鏈接:http://www.cnblogs.com/whynever/archive/2011/12/17/2291163.Html

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved