實現方式一:使用FileInputStream/FileOutputStream位元組流進行檔案的複製操作
1 private static void streamCopyFile(File srcFile, File desFile) throws IOException {
2 // 使用位元組流進行檔案複製
3 FileInputStream fi = new FileInputStream(srcFile);
4 FileOutputStream fo = new FileOutputStream(desFile);
5 Integer by = 0;
6 //一次讀取一個位元組
7 while((by = fi.read()) != -1) {
8 fo.write(by);
9 }
10 fi.close();
11 fo.close();
12 }
實現方式二:使用BufferedInputStream/BufferedOutputStream高效位元組流進行復制檔案
1 private static void bufferedStreamCopyFile(File srcFile, File desFile) throws IOException {
2 // 使用緩衝位元組流進行檔案複製
3 BufferedInputStream bis = new BufferedInputStream(new FileInputStream(srcFile));
4 BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(desFile));
5 byte[] b = new byte[1024];
6 Integer len = 0;
7 //一次讀取1024位元組的資料
8 while((len = bis.read(b)) != -1) {
9 bos.write(b, 0, len);
10 }
11 bis.close();
12 bos.close();
13 }
實現方式三:使用FileReader/FileWriter字元流進行檔案複製。(注意這種方式只能複製只包含字元的檔案,也就意味著你用記事本開啟該檔案你能夠讀懂)
1 private static void readerWriterCopyFile(File srcFile, File desFile) throws IOException {
2 // 使用字元流進行檔案複製,注意:字元流只能複製只含有漢字的檔案
3 FileReader fr = new FileReader(srcFile);
4 FileWriter fw = new FileWriter(desFile);
5
6 Integer by = 0;
7 while((by = fr.read()) != -1) {
8 fw.write(by);
10
11 fr.close();
12 fw.close();
實現方式四:使用BufferedReader/BufferedWriter高效字元流進行檔案複製(注意這種方式只能複製只包含字元的檔案,也就意味著你用記事本開啟該檔案你能夠讀懂)
實現方式一:使用FileInputStream/FileOutputStream位元組流進行檔案的複製操作
1 private static void streamCopyFile(File srcFile, File desFile) throws IOException {
2 // 使用位元組流進行檔案複製
3 FileInputStream fi = new FileInputStream(srcFile);
4 FileOutputStream fo = new FileOutputStream(desFile);
5 Integer by = 0;
6 //一次讀取一個位元組
7 while((by = fi.read()) != -1) {
8 fo.write(by);
9 }
10 fi.close();
11 fo.close();
12 }
實現方式二:使用BufferedInputStream/BufferedOutputStream高效位元組流進行復制檔案
1 private static void bufferedStreamCopyFile(File srcFile, File desFile) throws IOException {
2 // 使用緩衝位元組流進行檔案複製
3 BufferedInputStream bis = new BufferedInputStream(new FileInputStream(srcFile));
4 BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(desFile));
5 byte[] b = new byte[1024];
6 Integer len = 0;
7 //一次讀取1024位元組的資料
8 while((len = bis.read(b)) != -1) {
9 bos.write(b, 0, len);
10 }
11 bis.close();
12 bos.close();
13 }
實現方式三:使用FileReader/FileWriter字元流進行檔案複製。(注意這種方式只能複製只包含字元的檔案,也就意味著你用記事本開啟該檔案你能夠讀懂)
1 private static void readerWriterCopyFile(File srcFile, File desFile) throws IOException {
2 // 使用字元流進行檔案複製,注意:字元流只能複製只含有漢字的檔案
3 FileReader fr = new FileReader(srcFile);
4 FileWriter fw = new FileWriter(desFile);
5
6 Integer by = 0;
7 while((by = fr.read()) != -1) {
8 fw.write(by);
9 }
10
11 fr.close();
12 fw.close();
13 }
實現方式四:使用BufferedReader/BufferedWriter高效字元流進行檔案複製(注意這種方式只能複製只包含字元的檔案,也就意味著你用記事本開啟該檔案你能夠讀懂)