100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > Java字符流拷贝/复制文本文件 字节流拷贝文本文件乱码 很经典简便

Java字符流拷贝/复制文本文件 字节流拷贝文本文件乱码 很经典简便

时间:2023-09-29 11:11:46

相关推荐

Java字符流拷贝/复制文本文件 字节流拷贝文本文件乱码 很经典简便

先简单说明一下,文本文件与后缀无关,不论是“.txt”,“.java”,还是“.什么”,只要能使用记事本/文本编辑打开/编辑的,都可以称为文本文件。相比于字节流拷贝文件而言,字符流拷贝文本文件更好用一些,但是对于其他类型的文件,字符流是不能拷贝的。

同时,对于write()方法而言,除了char[]数组以外,还可以直接使用String类型,非常方便,中文也是可以的,字节流则可能会乱码。

那么我们来看一看具体实现吧。

package iostream.FileWriter;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;/*** 使用FileReader和FileWriter只能拷贝普通文本文件*/public class FileWriterTest2 {public static void main(String[] args) {FileReader fileReader = null;FileWriter fileWriter = null;try {fileReader = new FileReader("/Users/yuuki/Downloads/tmp.txt");fileWriter = new FileWriter("/Users/yuuki/Downloads/temp.txt");//这里代表的是1M,因为Java中char类型占的是2字节char[] chars = new char[512 * 1024];int readCount = 0;while ((readCount = fileReader.read(chars)) != -1) {fileWriter.write(chars,0,readCount);}fileWriter.flush();} catch (FileNotFoundException e) {e.printStackTrace();} 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();}}}}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。