package javaSEproject;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class CopyFileDemo {
public static void createFlie(){
//首先我们先利用流创建一个文本文件并添加字符到这个文本文件中
FileOutputStream outputStream=null;
try {
//创建文件输出流对象
outputStream=new FileOutputStream("d:/test.txt");
byte[]bs="你好".getBytes();
//把字节数组写到文件中
outputStream.write(bs);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{//关闭资源
try {
outputStream.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public static void copyFile(){
//先获取刚刚创建的文本文件,再复制该文件
OutputStreamWriter osw=null;
InputStreamReader isr=null;
try {
//创建输入流和输出流,并制定输入输出的文件路径,以及字符编码
osw=new OutputStreamWriter(new FileOutputStream("d:/copy.txt"), "utf-8");
isr=new InputStreamReader(new FileInputStream("d:/test.txt"), "utf-8");
int len=-1;
//循环读取文本文件,并把文件中的内容写到复制的文本中
while((len=isr.read())!=-1){
osw.write((char)len);
}
} catch (Exception e) {
System.out.println(e.getMessage());
}finally{
try {
osw.close();
isr.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public static void main(String[] args) {
createFlie();
copyFile();
}
}