import java.io.*; /* io流细节 @ blog.youkuaiyun.com/ljfbest */ class Test { public static void main(String[] args) throws IOException { /* FileWriter fw=new FileWriter(new File("a.txt"),true); //在windows中,一个换行相当于\r\n两个字符,而linux中则是\n fw.write("ssss\r\n"); //勿忘刷新缓冲区,不然写不到a.txt中,fr.close()前也会自动刷新一次 fw.flush(); */ FileReader fr=new FileReader("a.txt"); char[] ch1=new char[3]; /*a.txt:1. abcde--->abcdec (关键理解原理) 2. abc (此处一个换行,在windows中相当于两个字符,故输出以下) e --->abc e */ while((fr.read(ch1))!=-1) System.out.print(ch1);//System.out.print(new String (buf,0,num)); fr.close(); } } import java.io.*; /* 字符流的缓冲区 BufferedWriter,BufferedReader */ class Test { public static void main(String[] args) throws IOException {/* FileWriter fw=new FileWriter("a.txt",true); BufferedWriter bf=new BufferedWriter(fw); bf.write("ccc"); bf.newLine();//输入一个换行符,windows下是\r\n,linux下是\n bf.write("aaa"); bf.flush(); bf.close(); */ BufferedWriter bw=new BufferedWriter(new FileWriter("b.txt")); BufferedReader br=new BufferedReader(new FileReader("Test.java")); String line=null; while((line=br.readLine())!=null) { bw.write(line); bw.newLine(); bw.flush(); } bw.close(); br.close(); } } import java.io.*; /* 字符流的缓冲区 BufferedWriter,BufferedReader */ class Test { public static void main(String[] args) throws IOException { /* FileOutputStream fs=new FileOutputStream("c.txt"); fs.write("你好!".getBytes());//必须要转化为字节数组 //此时不需要刷新,flush() fs.close();*/ FileInputStream fi=new FileInputStream("c.txt"); /*int ch; while((ch=fi.read())!=-1) System.out.println((char)ch); */ byte[] by=new byte[1024]; int len; while((len=fi.read(by))!=-1) System.out.println(new String(by,0,len)); fi.close(); } } import java.io.*; import java.util.*; class Test { public static void main(String[] args) throws IOException { /* // 转换流:将字节流转成字符流再使用缓冲区的readLine() InputStream in=System.in; InputStreamReader is=new InputStreamReader(in);//转换流 BufferedReader bf=new BufferedReader(is); String line=null; while((line=bf.readLine())!=null) System.out.println(line); */ /* //PrinterWriter PrinterStream BufferedReader bf=new BufferedReader(new InputStreamReader(System.in)); //此处不用BufferedWriter改用PrintWriter;如果为 true,则 println、printf 或 format 方法将刷新输出缓冲区 PrintWriter out=new PrintWriter(System.out,true);//此处写到控制台上,刷新只对流起作用 //PrintWriter out=new PrintWriter(new BufferedWriter(new FileWriter("a.txt")));//此处要转换成流,才能自动刷新 String line=null; while((line=bf.readLine())!=null) out.println(line); out.close(); bf.close(); */ /* DataInputStream in=new DataInputStream(System.in); int n=in.readInt(); System.out.println(n); in.close();//注意:DataInputStream与DataOutputStream必须成对出现 */ /* BufferedReader bf=new BufferedReader(new InputStreamReader(System.in)); String s=bf.readLine(); byte[] b=s.getBytes("GBK");//编码 省略时系统默认的 String s1=new String(b,"GBK");///解码 省略时系统默认的 System.out.println(s1); //System.out.println(Arrays.toString(b)); */ BufferedInputStream bf=new BufferedInputStream(System.in); byte[] b=new byte[10]; bf.read(b); String s=new String(b); System.out.println(s); } }
java io流
最新推荐文章于 2024-01-27 16:24:57 发布