• 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必须是有明显的构造函数才可以,默认的构造函数是获取不到的。

  • 相关阅读:
    childnodes 兼容性问题
    1,点我呜呜,不点哈哈 2,定时器
    js中的request
    变背景图片位置
    linq contain和orderby
    VueMusic-5首页-音乐榜单
    VueMusic-4首页-视图适配
    VueMusic-3.-今日推荐-视图适配
    lodash---1.使用实列
    VueMusic-2.今日推荐-数据获取
  • 原文地址:https://www.cnblogs.com/HighFun/p/2770732.html
Copyright © 2020-2023  润新知