zoukankan      html  css  js  c++  java
  • 字符流和字节流


    /*
    字符流和字节流:

    字节流两个基类:
    InputStream OutputStream

    字符流两个基类:
    Reader Writer

    先学习一下字符流特点。

    既然IO流是用于操作数据的。
    那么数据的最常见体现形式是:文件。

    那么先以操作文件为主来显示。

    需求:在硬盘上,创建一个文件并写入一些文字数据。

    找到一个专门用于操作文件的Writer子类对象,FileWriter.
    后缀名是父类名,前缀名是该流对象的功能。
    */

    public class FileWriterDemo {
    
        public static void main(String[] args) throws IOException
        {
            
            //1、创建一个FileWriter对象,该对象一被初始化就必须要明确要操作的文件
            //而且该文件会被创建到指定目录下,如果该目录下已有同名文件,将被新的覆盖。
            //其实该步就是在明确数据将要存放的目的地。
            FileWriter fw = new FileWriter("demo.txt");
            
            //调用write方法,将字符串写入到流中。
            fw.write("abcde");
            
            //关闭流资源,但是关闭之前会刷新一次内部的缓冲中的数据,
            //将数据刷到目的地中,
            //和flush区别:flush刷新后,流可以继续使用,close刷新后,会将流关闭。
            fw.close();
            
            //刷新流对象中的缓冲中的数据,
            //将数据刷到目的地中。
            //fw.flush();
            
            fw.write("haha");
    //        fw.flush();
        }
    
    }
    FileWriterDemo

    第二种方式:通过字符数组进行读取

    public class FileReaderDemo2 {
    
        public static void main(String[] args) throws IOException{
            
            FileReader fr = new FileReader("demo.txt");
            
            //定义一个字符数组,用于存储读到字符。
            //该read(char[])返回的是读到字符个数。
            char[] buf = new char[1024];
            
            int num = 0;
            while((num=fr.read(buf))!=-1)
            {
                System.out.println(new String(buf,0,num));
            }
            
    //        int num = fr.read(buf);
            
    //        System.out.println("num+"+num+"..."+new String(buf));
            
    //        int num2 = fr.read(buf);
    //        
    //        System.out.println("num2+"+num2+"..."+new String(buf));
    //        
    //        int num3 = fr.read(buf);
    //        
    //        System.out.println("num3+"+num3+"..."+new String(buf,0,num3));
    //
    //        int num4 = fr.read(buf);
    //        
    //        //System.out.println("num4+"+num4+"..."+new String(buf,0,num4));
            fr.close();
        }
    
    }
    FileReaderDemo2
  • 相关阅读:
    关于C#静态函数什么时候被调用的问题
    Visual Studio调试之断点技巧篇
    使用MPLex实现语法高亮显示的功能
    Generate Ellipsoid画椭球用MATLAB
    matlab学习
    12.17 V155 Q169. 机经加感悟。
    GRE阅读
    Matlab7.0程序启动后自动退出问题
    远程打开MATLAB
    Resin是CAUCHO公司的产品,是一个非常流行的application server,对servlet和JSP提供了良好的支持,性能也比较优良,resin自身采用JAVA语言开发。
  • 原文地址:https://www.cnblogs.com/cailingsunny/p/4697311.html
Copyright © 2011-2022 走看看