• java编程思想读书笔记(三)


    1、java io

    主要有:字节数组、string对象,管道,文件,其他

    java的outputstream是写文件的拥有write方法,inputstream是读文件的,拥有read方法。

    管道和Linux重的管道的完全不同,Linux是一个文件,java用的是内存,所以java提供的标准库是不能进行有名管道操作的。

    2、File类

    file能够新建一个文件,也能够新建一个目录。

    1         File f = new File("/111.txt");
    2         f.mkdir();  //新建目录
    3         try{
    4             f.createNewFile();   //新建文件,需要try catch
    5         }
    6         catch (Exception e){
    7 
    8         }

    File类还有很多方法,可以获取文件的路径,修改名字等等

    3、读写一个文件

     1 try { 
     2         DataOutputStream out2 = 
     3           new DataOutputStream( 
     4             new BufferedOutputStream( 
     5               new FileOutputStream("Data.txt"))); 
     6         out2.writeBytes( 
     7           "Here's the value of pi: \n"); 
     8         out2.writeDouble(3.14159); 
     9         out2.close(); 
    10         DataInputStream in5 = 
    11           new DataInputStream( 
    12             new BufferedInputStream( 
    13               new FileInputStream("Data.txt"))); 
    14         System.out.println(in5.readLine()); 
    15         System.out.println(in5.readDouble()); 
    16       } catch(EOFException e) { 
    17         System.out.println( 
    18           "End of stream encountered"); 
    19       }

    这个创建一个带缓存的文件写入类,当然单纯的使用FileOutputStream也可以买足我们的要求。

    需要注意的是使用完成后一定要调用close方法否则不会写入到文件中。

    3、RTTI,反射

    Class类:该类的forname方法可以通过一个类的名字获取一个类的句柄。

    获取到该类的句柄以后可以使用该剧并获取该类的类型等操作。

    1         try{
    2             Class cc = Class.forName("BBB");
    3             BBB.class.isInstance(cc);//这个写法比较诡异,和C#完全想法
    4             String str = cc.getName();
    5             System.out.println(str);
    6         }
    7         catch (Exception e){
    8 
    9         }

    4、方法提取

    可以提取类的方法和构造函数。

     1         try{
     2             Class cc = Class.forName("BBB");
     3             BBB.class.isInstance(cc);//这个写法比较诡异,和C#完全想法
     4             Constructor c1 = cc.getConstructor();
     5             String str = cc.getName();
     6             System.out.println(str);
     7         }
     8         catch (Exception e){
     9 
    10         }

    重要的是,getConstructor必须是有明显的构造函数才可以,默认的构造函数是获取不到的。

  • 相关阅读:
    学习笔记26_MVC前台强类型参数
    Elasticsearch 和 solr 的区别
    Mysq索引优化(什么情况创建索引,什么情况不创建索引)
    Spring支持的常用数据库传播属性和事务隔离级别
    方法的参数传递机制
    JAVA类初始化和实例初始化
    JAVA设计模式
    CentOS 7 下安装 Nginx 服务,并开机自启动
    JAVA发送xml格式的接口请求
    JAVA接收postman的中raw的参数
  • 原文地址:https://www.cnblogs.com/HighFun/p/2770732.html
Copyright © 2020-2023  润新知