• IO流


    IO流
    分为字节流和字符流
    字节流抽象基类: InputStraem(读) ,OutputStream(写)

    字符流基类: Reader Writer

    FileWriter:  后缀名是父类名。 前缀名是该流对象的功能。

    专门用于操作文件的Writer子类对象

    使用IO流都应该对其进行异常处理,IO异常是最常见的.要么抛出(throws)要么try-catch处理.两种方式.

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

    IO异常代码演练处理:

    /*
    IO流异常处理
    */
    import java.io.*;
    
    class FileWriterExceptionDemo
    {
        public static void main(String args[])
        {
            FileWriter fw = null;
            try
            {
                fw = new FileWriter("Demo.txt");
                fw.write("abcde");
            } 
            catch(IOException e) 
            {
                System.out.println(e.toString()); 
            }
            finally
            {    
                try 
                {
                    fw.close();
                } 
                catch (IOException e) 
                {
                     System.out.println(e.toString());
                }
                 
            }
            
            
        
        
        }
    } 

     缓冲技术:BufferedReader 与BufferedWriter.

    字符输入/输出流中读取或者写入,缓冲各个字符,从而实现字符、数组和行的高效读取和写入。

    可以指定缓冲区的大小,或者可使用默认的大小。大多数情况下,默认值就足够大了。

    加入缓冲可以提高代码的运行效率,实现高效的读取写入数据.一般应用到字符流时,都应该应用缓冲区技术

    BufferedWriter代码演示:

    import java.io.*;
    
    class BufferedWriterDemo
    {
        public static void main(String args[])
        {
            FileWriter fw = null;
            BufferedWriter bw = null;
            try 
            {
                fw = new FileWriter("buffer.txt");
                //fw.write("abcd");
                bw = new BufferedWriter(fw);
                for(int i = 1; i<5; i++)
                {
                    bw.write("abc"+i);
                    //bw.write("
    ");
                    bw.newLine(); //换行 
                    
                    bw.flush();
                }
            } 
            catch(IOException e) 
            {
                 System.out.println(e.toString());
            }
            finally
            {
                try 
                {
                    bw.close();
                } 
                catch(IOException e) 
                {
                     System.out.println(e.toString());
                }
                
            }
            
            
            
        }
    }

    BufferedReader代码演示:

    import java.io.*;
    
    class BufferedReadDemo
    {
        public static void main(String args[]) throws IOException
        {
            //创建一个读取流对象,和文件相关联
            FileReader fd = new FileReader("buffer.txt");
            //加入缓冲技术,将字符流对象作为参数传递给缓冲对象的构造函数
            BufferedReader bufr = new BufferedReader(fd);
            
            //readLine()方法读取到最后返回空,因此定义一个字符串为null,以便于循环控制输出各行.
            String s = null;
            while((s = bufr.readLine())!= null)
            {
                System.out.println(s);
            }
            
            //String s1 = bufr.readLine();
            
            //System.out.println("s1:"+s1 );
            
            bufr.close();
        }
    }
  • 相关阅读:
    select option 下拉多选单选bootstrap插件使用总结
    bootstrap-dialog的使用
    display的table和cell外加table-layout:fixed等分布局,外加换行,word-wrap:break-word
    css样式实现字体删除线效果
    递归实现遍历二叉树
    童晶老师的游戏开发课程作业--实时时钟的实现
    张宵 20201120-1 每周例行报告
    张宵 20201112-1 每周例行汇报
    20201105-1 每周例行报告
    张宵 20201029-1 每周例行报告
  • 原文地址:https://www.cnblogs.com/jerryho/p/4760872.html
Copyright © 2020-2023  润新知