【Java学习笔记】26:打印流和数据流

xiaoxiao2021-02-28  101

打印流

PrintStream(打印字节流)

平时用的System.out这个对象实际上就是来自这个类的。

package t1; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.PrintStream; public class Test { public static void main(String[] args) { test1(); } //不打印到控制台,而是打印到文件去 private static void test1() { FileOutputStream out=null; try { out=new FileOutputStream("C:\\Users\\Shinelon\\Desktop\\sb.dat"); PrintStream ps=new PrintStream(out);//创建打印流的对象 System.setOut(ps);//指定输出到ps这个打印流对象中去 for(int i=0;i<128;i++) { System.out.print((char)i);//打印ASCII码对应的字符 if(i>0&&i%10==0) System.out.println();//每隔十个换一行 } } catch (FileNotFoundException e) { e.printStackTrace(); } } }

PrintWriter(打印字符流)

如要输出Unioncode编码时常用到这个类。

数据流

数据流可以读取基本数据类型如int类型,浮点类型,字符串类型等。

DataOutputStream(数据输出流)

package t1; import java.io.DataOutputStream; import java.io.FileOutputStream; import java.io.IOException; public class Test { public static void main(String[] args) { test1(); } //数据流可以直接读写基本类型数据 private static void test1() { int i=256; double pi=Math.PI; String str="java"; DataOutputStream dos=null; try {//数据输出流 dos=new DataOutputStream( new FileOutputStream("C:\\Users\\Shinelon\\Desktop\\sb.dat")); //不同类型对应不同的输出方法 dos.writeInt(i); dos.writeDouble(pi); dos.writeUTF(str); } catch (Exception e) { e.printStackTrace(); }finally{//用完关闭 if(dos!=null) try { dos.close(); } catch (IOException e) { e.printStackTrace(); } } } }

运行结果:

DataInputStream(数据输入流)

package t1; import java.io.DataInputStream; import java.io.FileInputStream; import java.io.IOException; public class Test { public static void main(String[] args) { test2(); } //数据流可以直接读写基本类型数据 private static void test2() { DataInputStream dis=null; try {//数据输入流 dis=new DataInputStream( new FileInputStream("C:\\Users\\Shinelon\\Desktop\\sb.dat")); //注意写的顺序和读的顺序要一致 System.out.println(dis.readInt()); System.out.println(dis.readDouble()); System.out.println(dis.readUTF()); } catch (Exception e) { e.printStackTrace(); }finally{ if(dis!=null) try { dis.close(); } catch (IOException e) { e.printStackTrace(); } } } }

运行结果:

256 3.141592653589793 java
转载请注明原文地址: https://www.6miu.com/read-68715.html

最新回复(0)