• 【Think in java读书笔记】IO系统


    一.FIle类(处理文件目录问题)

    • if else的另外一种写法
    • ,不加大括号也可以
    import java.io.File;
    import java.io.FilenameFilter;
    import java.util.Arrays;
    import java.util.regex.Pattern;
    
    /**
     * @Author:Bixinkun
     * @Descripition:遍历查看相应的目录列表
     * @Date:Created in 2018-02-23 9:38
     */
    public class TestIO {
        public static void main(String[] args) {
            File path = new File(".");//找到特定的路径名
            System.out.println("--------" + path.getAbsolutePath());// 得到绝对路径
            // File path = new File("\"); 表示路径取到 C:
            // File path = new File("."); 表示路径取到 C:UsersxkDesktopssm02.当前路径下
            String[] list;
            if (args.length == 0) {//args.length 不是 一直都是空的么??什么情况下才不是空的
                list = path.list();
            } else
                list = path.list(new TestIOFilter(args[0]));
    
            Arrays.sort(list, String.CASE_INSENSITIVE_ORDER);//按字母顺序排序
            for (String dirItem : list) {
                System.out.println(dirItem);
                // .git .idea  log  out pom.xml src ssm02.iml target
            }
        }
    }
    
    class TestIOFilter implements FilenameFilter { //这个类存在的意义???
        private Pattern pattern;
    
        public TestIOFilter(String regex) {
            pattern = Pattern.compile(regex);
        }
    
        public boolean accept(File dir, String name) {
            return pattern.matcher(name).matches();
        }
    }

     二.输入和输出

    流:代表任何有能力产出数据的数据源对象或者是有能力接受数据的接收端对象。(流屏蔽了实际的IO设备中处理数据的细节)

    1.任何自Inputstream或Reader派生而来的类都含有名为reader()的基本方法,用于读取单个字节或者字节数组,同样,任何自outputStream或writer派生而来的类都含有名为writer()的基本方法,用于写单个字节或者字节数组。

    2.InputStream类型

    ByteArrayInputStream

    StringBufferInputStream

    FileInputStream

    PipedInputStream

    SequenceInputStream

    FilterInputStream{

    DataInputStream

    BuffereredInputStream

    LineNumberInputStream

    PushbackInputStream

    }

    3.OutputStream类型

    ByteArrayOutputStream

    FileOutputStream

    PipedOutputStream

    FilterOutputStream{

    DataOutputStream

    PrintStream

    BufferedOutputStream

    }

  • 相关阅读:
    CISCO实验记录九:NAT地址转换
    CISCO实验记录八:ACL访问控制
    【零基础】风格迁移之deep-painterly-harmonization的安装和使用
    CISCO实验记录七:OSPF
    【零基础】看懂“深度学习”的优势
    数学专业各学科视频网址
    Flash网站Loading制作
    30张图 讲述真实的人性
    【UXPA工作坊小记】郎学明:做更“有用”的用户研究
    科学训练传播训练营///第一期:科学问题的复杂性///参后感觉
  • 原文地址:https://www.cnblogs.com/miaoww/p/8462183.html
Copyright © 2020-2023  润新知