字符流复制java文件_Java文件字节流、字符流,将一个文件内容复制并添加到另外一个文件中...

//一次复制一个字节,异常处理,手动关闭流

public static void copyFile1(String srcFilename, String destFilename){

FileInputStream fileInputStream = null;

FileOutputStream fileOutputStream = null;

try {

fileInputStream = new FileInputStream(srcFilename);

fileOutputStream = new FileOutputStream(destFilename);

int cc = fileInputStream.read();

//如果cc不是-1,把cc保存到目标文件中

while (cc != -1){

fileOutputStream.write(cc);

cc = fileInputStream.read();

}

} catch (IOException e){

e.printStackTrace();

} finally {

if (fileInputStream != null){

try {

fileInputStream.close();

} catch (IOException e){

e.printStackTrace();

}

}

if (fileOutputStream != null){

try {

fileOutputStream.close();

} catch (IOException e){

e.printStackTrace();

}

}

}

}

//一次复制一个字节数组,异常处理,自动关闭流

public static void copyFile2(String srcFilename, String destFilename){

try {

FileInputStream fileInputStream = new FileInputStream(srcFilename);

//文件使用GBK编码,当前环境使用UTF-8编码,把字符转为GBK再读取

InputStreamReader is = new InputStreamReader(fileInputStream,"GBK");

FileOutputStream fileOutputStream = new FileOutputStream(destFilename,true); //true是将文件内容添加进来,不是覆盖

//文件使用GBK编码,当前环境使用UTF-8编码,把字符转为GBK再保存

OutputStreamWriter os = new OutputStreamWriter(fileOutputStream, "GBK");

byte[] bytes = new byte[1024];

int len = fileInputStream.read(bytes);

while (len != -1){

fileOutputStream.write(bytes,0, len);

len = fileInputStream.read(bytes);

}

}catch (Exception e){

e.printStackTrace();

}

}

//文本文件复制,一次复制一个字符,异常处理,自动关闭流

public static void copyFile3(String srcFilename, String destFilename){

try {

FileReader fileReader = new FileReader(srcFilename);

FileWriter fileWriter = new FileWriter(destFilename);

int cc = fileReader.read();

while (cc != -1){

fileWriter.write(cc);

cc = fileReader.read();

}

} catch (Exception e){

e.printStackTrace();

}

}

//文本文件复制,一次复制一个字符数组,异常处理,手动关闭流

public static void copyFile4(String srcFilename, String destFilename){

FileReader fileReader = null;

FileWriter fileWriter = null;

try {

fileReader = new FileReader(srcFilename);

fileWriter = new FileWriter(destFilename);

char[] contents = new char[1024];

int len = fileReader.read(contents);

while (len != -1){

fileWriter.write(contents);

len = fileReader.read(contents);

}

} catch (IOException e){

e.printStackTrace();

} finally {

if(fileReader != null){

try {

fileReader.close();

} catch (IOException e){

e.printStackTrace();

}

}

if (fileWriter != null){

try {

fileWriter.close();

} catch (IOException e){

e.printStackTrace();

}

}

}

}


版权声明:本文为weixin_42474220原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。