Java中转换流是个文件流操作中的一个小知识点,主要包含了文件的编码和解码过程。
这里套用别人的图进行一个形象的关于转换流的表达:
这里结合实例给大家进行一些说明,望详细看代码
/*
* 转换流:InputStreamReader OutputStreamWriter
* 编码:字符串-->字节数组
* 解码:字节数组--->字符串
*/
public void testTran(String src,String dst) {
File file1=new File(src);
File file2=new File(dst);
FileInputStream fis=null;
FileOutputStream fos=null;
try {
//解码
fis=new FileInputStream(file1);
//将字节流转化为字符流
InputStreamReader ir=new InputStreamReader(fis,"utf-8");
//使用字符缓冲流进行转换 提高速率
BufferedReader br=new BufferedReader(ir);
//编码
fos=new FileOutputStream(file2);
//将字副流转化为字节流
OutputStreamWriter os=new OutputStreamWriter(fos,"utf-8");
//使用字符缓冲流进行转换 提高速率
BufferedWriter bw=new BufferedWriter(os);
String str;
while((str=br.readLine())!=null) {
bw.write(str);
bw.newLine();
bw.flush();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
// 自行添加 这里进行关闭一些文件流 不再赘述!
}
}