IO字符流
字符流基本操作,理解写入.txt文件:
Reader:输入流
Writer:输出流
import java.io.IOException; import java.io.FileNotFoundException; import java.io.File; import java.io.Reader; import java.io.FileReader; import java.io.Writer; import java.io.FileWriter; public class FileDemo03 { public static void main(String[] args) { //创建操作对象源(目标) File file=new File("D:"+File.separator+"FilesTest"+File.separator+"Test.txt"); function_2(file); function_1(file); } /* 字符输出流 */ public static void function_2(File file){ //创建管道 Writer writer=null; try{ //给一个File对象构造一个FileWriter对象。 如果第二个参数是true ,则字节将写入文件的末尾而不是开头。 writer=new FileWriter(file,true); //写数据 writer.write("\nASDF"); writer.flush(); System.out.println("xie ru wan cheng!"); }catch(FileNotFoundException e ) { e.printStackTrace(); throw new RuntimeException("文件未找到"); }catch (IOException o){ o.printStackTrace(); throw new RuntimeException("文件写入失败"); }finally { //关闭资源 try{ writer.close(); }catch (IOException e){ e.printStackTrace(); } } } /* 字符输入流 */ public static void function_1(File file){ //创建管道 Reader reader=null; try{ //创建一个新的 FileReader ,给定 FileDescriptor读取。 reader=new FileReader(file); //创建字符缓存数据数组 char[] char[] chars=new char[5]; int len=-1; while (reader.read(chars) !=len){ System.out.println(chars); } }catch(FileNotFoundException e ){ e.printStackTrace(); throw new RuntimeException("文件未找到"); }catch (IOException ioExceptiono){ ioExceptiono.printStackTrace(); throw new RuntimeException("字符读取失败"); }finally{ //关闭资源(管道) try{ reader.close(); }catch (IOException close){ close.printStackTrace(); } } } }
缓冲区:
BufferedReader:缓冲输入流
BufferedWriter:缓冲输出流
import java.io.*; public class BufferedDemo02 { public static void main(String[] args) { //创建源(目标对象) File file=new File("D:"+File.separator+"FilesTest"+File.separator+"Test.txt"); try{ //输入流管道 Reader reader=new FileReader(file); //输出流管道 Writer writer=new FileWriter(file); //创建缓冲区 BufferedReader bufferedReader=new BufferedReader(reader); BufferedWriter bufferedWriter=new BufferedWriter(writer); //写入字符 bufferedWriter.write("niubi"); char[] chars=new char[1024]; int len=-1; while ((len = bufferedReader.read(chars)) !=-1) System.out.println("a" + chars); bufferedWriter.flush(); bufferedReader.close(); bufferedWriter.close(); }catch(IOException o){ o.printStackTrace(); } } }