• 5.10Java实操IO流,面向接口编程,面向父类编程


    5.10Java实操IO流,面向接口编程,面向父类编程

    写一个程序需要的步骤:

    • 选择源--->流走那些数据源

    • 选择流--->选择什么流走方式(选择具体的子类)

    • 具体的操作--->流里面的方法(一个一个来还是一段一段来读、写)

    • 释放--->释放系统资源

    普通io流类:

    package iostudy.ioprogramme;

    import java.io.*;
    import java.util.ArrayList;

    /**
    * 第一个io程序:--->理解操作步骤
    * 1.创建源
    * 2.选择流
    * 3.进行文件操作
    * 4.释放资源
    * @author Lucifer
    */
    public class IoTestNo1 {
       public static void main(String[] args) throws FileNotFoundException {
           //1.创建源文件
           File src = new File("D:/workspace/practice/main/java/iostudy/ioprogramme/abc.txt"); //操作io流读取内容的时候不能直接操作文件夹,要操作文件夹需要使借助递归的方法
           //2.选择流
           /*
           因为与外界产生了联系,所以产生了异常
           处理方式:
           1.try---catch--->手写处理方法
           2.throw--->抛给方法的调用处不去处理
            */
           try {
               InputStream is = new FileInputStream(src);
               //进行操作(读取)
               int data1 = is.read(); //第一个数据
               int data2 = is.read(); //第二个数据
               int data3 = is.read(); //第三个数据
               int data4 = is.read();
    //           System.out.println((char) data1); //这里需要转型成char,因为返回的是int是一个代号
    //           System.out.println((char) data2);
    //           System.out.println((char) data3);
    //           System.out.println((char) data4); //没有第四个数据,返回一个符号
               char data11 = (char) data1;
               char data12 = (char) data2;
               char data13 = (char) data3;
               char data14 = (char) data4;
               char[] d1 = {data11,data12,data13,data14};
               System.out.println(d1);
               for (char d2 : d1){
                   System.out.println(d2);
              }
               //释放资源
               is.close();
          }catch (FileNotFoundException e){
               e.printStackTrace();
          }catch (IOException e){
               e.printStackTrace();
          }
      }
    }

    规范io流类:

    package iostudy.ioprogramme;

    import java.io.*;

    /**
    * 第一个io程序:--->理解操作步骤--->改成标准的形式
    * 1.创建源
    * 2.选择流
    * 3.进行文件操作
    * 4.释放资源
    * @author Lucifer
    */
    public class IoTestNo2 {
       public static void main(String[] args) {
           //1.创建源文件
           //操作io流读取内容的时候不能直接操作文件夹,要操作文件夹需要使借助递归的方法
           File src1 = new File("D:/workspace/practice/main/java/iostudy/ioprogramme/abc.txt");
           //2.选择流
           /*
           因为与外界产生了联系,所以产生了异常
           处理方式:
           1.try---catch--->手写处理方法
           2.throw--->抛给方法的调用处不去处理
            */
           InputStream is = null;
           try {
               is = new FileInputStream(src1); //如果放在try里面建立对象那么在下面代码中不可以使用,所以要提升作用域
               //进行操作(读取)--->利用循环进行读取
               int temp = -1; //临时节点
               byte[] chars = new byte[1024]; //FileInputStream的read方法需要的是byte类型的数组不是char类型
               /*
               char类型的数组是FileReader方法需要的
                */
               while ((temp = is.read(chars))!=-1){
                   String s = new String(chars, 0, temp);
                   System.out.println(s);
              }
          }catch (FileNotFoundException e){
               e.printStackTrace(); //如果后期出了异常,将释放资源放在上面的位置不对,要在下面加finally
          }catch (IOException e){
               e.printStackTrace();
          }finally {
               try {
                   if (null!=is){
                       //释放资源
                       is.close(); //如果前面一开始is就创建一场,所以前面要判断不为空指针
                  }
              }catch (IOException e){
                   e.printStackTrace();
              }
          }
      }
    }
    /*
    1.至少返回练习十遍以上
    */

     

    It's a lonely road!!!
  • 相关阅读:
    ObjectiveC 日记⑦ 内存管理
    Jquery自定义分页插件
    C#中的静态类和静态成员
    多线程访问共同的代码或者对象:lock避免出错
    wordpress绑定新浪微博
    组态软件基础知识概述
    书籍推荐:《网站运营直通车:7天精通SEO》
    wordpress代码高亮插件推荐:AutoSyntaxHighlighter
    书籍推荐:《伟大是熬出来的:冯仑与年轻人闲话人生》
    wince平台用xml文件做配置文件
  • 原文地址:https://www.cnblogs.com/JunkingBoy/p/14752518.html
Copyright © 2020-2023  润新知