package stream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class TestStream {
public static void main(String[] args) {
method1("d:/test1.txt", "d:/test2.txt");
method2("d:/test.txt", "d:/test2.txt");
method3("d:/test.txt", "d:/test3.txt");
}
public static boolean method1(String srcFile, String destFile) {
File sf = new File(srcFile);
if (!sf.exists()){
System.out.println("源文件"+sf+"不存在!");
return false;
} else if (!sf.isFile()){
System.out.println("源文件"+sf+"不是一个文件!");
return false;
}
File df = new File(destFile);
byte[] buffer = new byte[1024];
try (
FileInputStream fis = new FileInputStream(sf);
FileOutputStream fos = new FileOutputStream(df);
)
{
while (true) {
int actuallyReaded = fis.read(buffer);
if(-1==actuallyReaded)
break;
fos.write(buffer, 0, actuallyReaded);
}
return true;
} catch (IOException e) {
e.printStackTrace();
}
return false;
}
public static void method2(String srcFile, String destFile) {
File sf = new File(srcFile);
File df = new File(destFile);
char[] ch = new char[1024];
try (
FileReader fr = new FileReader(sf);
FileWriter fw = new FileWriter(df);
)
{
while (true) {
int actuallyReaded = fr.read(ch);
if (-1==actuallyReaded)
break;
fw.write(ch, 0, actuallyReaded);
}
} catch (IOException e) {
e.printStackTrace();
}
}
public static void method3(String srcFile, String destFile) {
File sf = new File(srcFile);
File df = new File(destFile);
byte[] buffer = new byte[1024];
try (
FileInputStream fis = new FileInputStream(sf);
DataInputStream dis = new DataInputStream(fis);
FileOutputStream fos = new FileOutputStream(df);
DataOutputStream dos = new DataOutputStream(fos);
)
{
while (true) {
int actuallyReaded = dis.read(buffer);
if (-1==actuallyReaded)
break;
dos.write(buffer, 0, actuallyReaded);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}