1、使用字符型流傳輸(包括文字等文檔的文件的拷貝):
注意要轉碼,親,開放工具與文檔的編碼格式,需設置文件編碼格式一致!
和對異常的捕獲。
package com.lovo.test;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class TsetCopyFile {
public static void main(String[] args) {
//字符流方法
FileReader fin = null;
FileWriter fout = null;
try {
fin = new FileReader("C:/Users/qwe/Desktop/work.txt");//久地址
fout = new FileWriter("D:/workday.txt");//新地址
char[] b = new char[1024];//使用數組[1024]位進行拷貝傳遞,影響拷貝的快慢
int length = 0;//取傳遞的長度
while ((length = fin.read(b)) != -1) {//讀入數據---判斷是否取到最後
fout.write(b, 0,length);//寫出數據--按長度length寫入;
fout.flush();//把緩衝區的數據沖刷
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
if (fin != null) {//當流不爲空時,使用完畢後,務必關閉流,否則影響內存和運行
try {
fin.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (fout != null) {//當流不爲空時,使用完畢後,務必關閉流,否則影響內存和運行
try {
fout.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
}
2、使用字節型流傳輸(包括圖片、視頻等的文件的拷貝):
package com.lovo.test;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class TsetCopyFile {
public static void main(String[] args) {
// 字節流方法
FileInputStream fins = null;
FileOutputStream fouts = null;
try {
fins = new FileInputStream("C:/Users/qwe/Desktop/work.txt");// 久地址
fouts = new FileOutputStream("D:/workday.txt");// 新地址
byte[] b = new byte[1];//使用數組byte[1]位進行拷貝傳遞,影響拷貝的快慢
int len = 0;
try {
while ((len = fins.read(b)) != -1) {//讀入數據---判斷是否取到最後"-1"
fouts.write(b, 0, len);//寫出數據--按長度length寫入;
fouts.flush();//把緩衝區的數據沖刷
}
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
if (fins != null) { //當流不爲空時,使用完畢後,務必關閉流,否則影響內存和運行
try {
fins.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (fouts != null) { //當流不爲空時,使用完畢後,務必關閉流,否則影響內存和運行
try {
fouts.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}