Java IO流_2

来源:互联网 发布:淘宝优惠券在哪里查看 编辑:程序博客网 时间:2024/06/05 03:57

                                                  Java IO流_2

    一.转换流

        字节流--->字符流的转换
        OutputStreamWriter
            是writer的子类

         

public static void main(String[] args) throws IOException {//FileWriter fw = new FileWriter(new File("E:" + File.separator + "yang.txt"));//fw.write("深圳"); // 一个中文两个字节//fw.flush();//fw.close();////FileReader fr=new FileReader(new File("E:" + File.separator + "yang.txt"));//char [] ch=new char[1024];//int len=fr.read(ch);//System.out.println(new String(ch,0,len));//将字符流转为字节流OutputStreamWriter out=new OutputStreamWriter(new FileOutputStream(new File("D:"+File.separator+"xiao.txt")),"UTF-8");out.write("广州");out.flush();out.close();//InputStreamReader in=new InputStreamReader(new FileInputStream(new File("D:"+File.separator+"xiao.txt")),"UTF-8");//char [] ch1=new char[1024];//int len1=in.read(ch1);//System.out.println(new String(ch1,0,len1));


        InputStreamReader
            是Reader的子类

      

FileReader fr=new FileReader(new File("E:" + File.separator + "yang.txt"));//char [] ch=new char[1024];//int len=fr.read(ch);//System.out.println(new String(ch,0,len));//InputStreamReader in=new InputStreamReader(new FileInputStream(new File("D:"+File.separator+"xiao.txt")),"UTF-8");//char [] ch1=new char[1024];//int len1=in.read(ch1);//System.out.println(new String(ch1,0,len1));


    二.标准输入输出

        InputStream in=System.in;
        PrintStream ou=System.out;
            ou.println("Ok")

    三.内存操作流

  内存操作流一般在生成一些临时信息时才会使用,它是唯一不用 关闭的流,关不关都可以

        ByteArrayInputStream
            主要是使用构造方法将全部的内容读取 到内存中
        ByteArrayOutputStream

public class Demo7 {public static void main(String[] args) throws IOException {/* * 数据流 * 处理流 */File f=new File("D:"+File.separator+"test.txt");DataInputStream in=new DataInputStream(new FileInputStream(f));method1();}public static void method1() throws IOException {File f1=new File("D:"+File.separator+"data.txt");DataOutputStream dou= new DataOutputStream(new FileOutputStream(f1));//写数据dou.writeInt(10);    //int 4dou.writeByte(1);   // 1dou.writeChar('a');   //1dou.writeUTF("深圳");    //6dou.flush();dou.close();}}


            将内容从内存中取出
      

   四. 数据流

        DataInputStream


        DataOutputStream

       

    五.对象流

        ObjectInputStream   //读

       

ObjectInputStream bio=new ObjectInputStream(new FileInputStream(("E:"+File.separator+"object.txt")));Student stu2=(Student) bio.readObject();Student stu3=(Student) bio.readObject();Student stu4=(Student) bio.readObject();System.out.println(stu2.getName()+"---"+stu2.getAge());System.out.println(stu3.getName()+"---"+stu3.getAge());System.out.println(stu4.getName()+"---"+stu4.getAge());}



        ObjectOutputStream   //写

       

public static void method(File f) throws IOException {Student s1=new Student("小麦",12);Student s2=new Student("小麦",12);Student s3=new Student("小唛",12);FileOutputStream fou=new FileOutputStream(f);ObjectOutputStream obu=new ObjectOutputStream(fou);obu.writeObject(s1);obu.writeObject(s2);obu.writeObject(s3);obu.flush();obu.close();System.out.println("写入成功");}


   六. 打印流

        PrintStrem
            字节
        PrintWriter
            字符

        

public class Demo8 {public static void main(String[] args) throws FileNotFoundException {/* * 打印流:只有输出,没有输入 * PrintStrem     字节 * PrintWriter    字符 */ //打印到控制台PrintWriter pw=new  PrintWriter(System.out);//打印到文件里面PrintWriter pw1=new PrintWriter(new FileOutputStream(new File("D:"+File.separator+"print.txt")));String str="hello world";pw1.println(str);//pw.write(str);pw1.flush();pw1.close();}}