美文网首页
java7特性

java7特性

作者: 梓青 | 来源:发表于2016-11-11 19:33 被阅读28次

    标签:java

    java7 特性

    异常处理

    异常类的构造器有可以接受两个参数,
    分别用来禁用忽略异常和禁用堆栈跟踪

    忽略异常:
    当第一个异常产生后,需要执行其他清理操作(finally()||资源关闭),   
    但是在执行过程中又产生了其他异常;   
    可以调用ex.addSupressed(ex2),加入忽略异常   
    (产生多个异常)   
    
    堆栈跟踪:
    产生异常时代码的执行链    
    (只产生一个异常)   
    
    
    /**
     * 1.try-with-resource语句
     * 2.忽略异常
     */
    private void exceptionTest(){
        try(Scanner in=new Scanner(Paths.get("路径"))){
            in.hasNext();
        }catch (IOException e){
    
        }
    }
    

    文件使用

    Path路径,一个文件路径的抽象

    创建
    //creat
    Paths.get("root","dir1","file.txt");// 相对路径,/root/dir1/file.txt;
    Paths.get("/","dir1","file.txt");//    绝对路径,/为根目录,取决于操作系统
    
    //组合、解析路径
    Path p1=Paths.get("root","dir1");
    Path p2=Paths.get("conf.txt");
    
    p1.resolve(p2);//返回/root/dir1/conf.txt.产生子目录
    p1.resolveSibling("dir2");//返回/root/dir2.产生兄弟目录
    p1.toAbsolutePath();//返回指定路径的绝对路径,根据调用JVM的路径进行解析,如在/JVM下启动应用,则返回./JVM/root/dir1
    
    读取,写入
    /**
    * 读取、写入,复制文件
    */
    //read
    //all
    Files.readAllBytes(p1);//new String(byte[],charset)转换
    //byLine
    Files.readAllLines(p1);
    //write
    Files.write(p1,"内容".getBytes(), StandardOpenOption.APPEND);//追加写入
    
    //处理大文件的时候,转换为Stream||reader/Writer
    InputStream in=Files.newInputStream(p1);
    OutputStream out=Files.newOutputStream(p1);
    Reader reader=Files.newBufferedReader(p1);
    Writer writer=Files.newBufferedWriter(p1);
    
    //文件复制copy可以将Path和in||out连接起来
    Files.copy(in,p1);
    Files.copy(p1,out);
    
    创建文件、目录
    /**
    * 创建文件和目录
    */
    //creat dir
    Files.createDirectory(p1);
    Files.createDirectories(p1);//递归创建
    //creat file
    Files.createFile(p1);
    Files.exists(p1);//判断文件是否存在
    
    复制,移动,删除
    /**
    * 复制,copy
    * 移动,move
    * 删除文件 delete() deleteIfExists()
    */
    
    其他改进
    private void otherTest(){
        //eauals()中的null判断
        Integer a=1;
        Integer b=2;
        // a==null && b==null,return true;
        // a==null && b!=null,return false;
        // other a.equals(b);
        Objects.equals(a,b);
    
        //计算hash码
        //对象有实例变量a,b,hash重写 Objects.hash(a,b);
    
        //数值比较
        //return (a-b);如果b为负数,有溢出的风险,使用Integer.compare(a,b);
    }

    相关文章

      网友评论

          本文标题:java7特性

          本文链接:https://www.haomeiwen.com/subject/ulbfpttx.html