字符流相关操作(读、写、copy)
字符流只能处理字符
读取操作
package cn.chars; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.io.Reader; /* * 纯文本读取 * */ public class Demo01 { public static void main(String[] args) { //1.建立联系 File src=new File("C:/Users/Administrator/Desktop/sun/b.txt"); //2.选择流 Reader reader=null; try { reader=new FileReader(src); //3.读取操作 char[] s=new char[1024]; int len=0; try { while(-1!=(len=reader.read(s))) { String info=new String(s,0,len); System.out.println(info); } } catch (IOException e) { e.printStackTrace(); System.out.println("文件读取失败"); } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); System.out.println("源文件不存在"); } finally { if(null!=reader) { try { reader.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); System.out.println("是空的"); } } } } }
写入操作
package cn.chars; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.Writer; public class Demo02 { public static void main(String[] args) { File src =new File("C:/Users/Administrator/Desktop/sun/a.txt"); Writer writer=null; try { writer =new FileWriter(src,true); String str="这是一句话"; writer.write(str); writer.append("hello world"); writer.flush(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); System.out.println("源文件不存在"); } finally { if(null!=writer) { try { writer.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); System.out.println("关闭失败"); } } } } }
copy操作
package cn.chars; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.Reader; import java.io.Writer; /* * 纯文本拷贝 * */ public class CopyFile { public static void main(String[] args) throws IOException { File src=new File("C:/Users/Administrator/Desktop/sun/a.txt"); File src2=new File("C:/Users/Administrator/Desktop/sun/b.txt"); Reader reader=null; Writer writer=null; try { reader=new FileReader(src); writer=new FileWriter(src2); //3.读取操作 char[] s=new char[1024]; int len=0; try { while(-1!=(len=reader.read(s))) { String info=new String(s,0,len); System.out.println(info); writer.write(s, 0,len); } writer.flush(); } catch (IOException e) { e.printStackTrace(); System.out.println("文件读取失败"); } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); System.out.println("源文件不存在"); } finally { if(null!=writer) { writer.close(); } if(null!=reader) { try { reader.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); System.out.println("是空的"); } } } } }