API(应用程序编程接口)

API(应用程序编程接口)API:applicationprogramminginterface(应用程序编程接口)1.常用API:包功能java.langJava程序的基础类,如字符串,多线程等,该包中的类使用的频率非常高,不需要import,可以直接使用java.util常用工具类如集合、随机数产生器

大家好,欢迎来到IT知识分享网。API(应用程序编程接口)"

API:application programming interface(应用程序编程接口)

1. 常用API:

    包        功能

    java.lang    Java程序的基础类,如字符串,多线程等,该包中的类使用的频率非常高,不需要import,可以直接使用

    java.util       常用工具类如集合、随机数产生器、日历、时钟等

    java.io        文件操作、输入/输出操作

    java.net      网络操作

    java.math      数学运算相关操作

    java.security    安全相关操作

    java.sql       数据库访问

    java.text       处理文字、日期、数字、信息的格式

 

2. String操作

  2.1 char charAt(int index)
       获取给定位置上的字符

String str = "thinking in java";
        
        char c = str.charAt(9);
        System.out.println(c);//i
        
        //avaj ni gnikniht
        for(int i=str.length()-1;i>=0;i--) {
        System.out.print(str.charAt(i));

 

  2.2  int indexOf(String str)

    检索给定字符串在当前字符串中的位置,若当前字符串不包含给定内容时返回-1

String str = "thinking in java";
        
        int index = str.indexOf("in");
        System.out.println(index);
        
        //从指定位置开始查找第一次出现的位置
        index = str.indexOf("in",3);
        System.out.println(index);
        
        //查找最后一次出现给定字符串的位置
        index = str.lastIndexOf("in");
        System.out.println(index);

 

  2.3  int length()

    返回当前在字符串的长度(字符个数)

 String str = "我爱java!";
        int len = str.length();
        System.out.println(len);

  

  2.4  boolean matches(String regex)

    字符串支持正则表达式方法一:

      使用给定的正则表达式验证当前字符串是否符合格式要求,符合则返回 true.      

        注:给定的正则表达式无论是否添加了边界匹配,都是做全匹配验证的.

String mail = "fancq@tedu.cn";
        /*
         * [a-zA-Z0-9_]+@[a-zA-Z0-9]+(\.[a-zA-Z]+)+
         * 
         */
        String regex = "[a-zA-Z0-9_]+@[a-zA-Z0-9]+(\\.[a-zA-Z]+)+";
        boolean match = mail.matches(regex);
        if(match) {
            System.out.println("是邮箱");
        }else {
            System.out.println("不是邮箱");
        }

 

  2.5  String[] split(String regex)

    字符串支持正则表达式方法二:    

      将当前字符串按照符合正则表达式的内容拆分

String str = "abc123def456ghi";
        //按照数字部分拆分,保留字母部分
        String[] data = str.split("[0-9]+");
        System.out.println(data.length);
        for(int i=0;i<data.length;i++) {
            System.out.println(data[i]);

 

  2.6  String replaceAll(String regex,String str)

    将当前字符串中满足正则表达式的部分替换为给定的内容

String str = "abc123def456ghi";
        /*
         * 将字符串中的数字部分替换为"#NUMBER#"
         */
        str = str.replaceAll("[0-9]+", "#NUMBER#");
        System.out.println(str);

 

  2.7   boolean startsWith(String str)

    boolean endsWith(String end)

      判断当前字符串是否是以给定的字符串开始或结尾的.

String str = "thinking in java";
        
        boolean starts = str.startsWith("think");
        System.out.println("starts:"+starts);
        
        boolean ends = str.endsWith("ava");
        System.out.println("ends:"+ends);

 

  2.8 StringBuilder

     java.lang.StringBuilder  该类是专门用来修改字符串的API.其内部维护一个可变的char数组,因此不会出现修改一次内容就创建一个新对象的问题(内存开销小,性能好) 并且StringBuilder还提供了便于修改字符串内容的一系列操作:增,删,改,插

 

String str = "努力学习java";
        
        //默认实例化出来表示一个空字符串
//        StringBuilder builder = new StringBuilder();
        
         StringBuilder builder= new StringBuilder(str);
        
        /*
         * 努力学习java
         * 努力学习java,为了找个好工作!
         */
        builder.append(",为了找个好工作!");
        //调用toString方法可以得到改后的字符串
        str = builder.toString();
        System.out.println(str);
        
        /*
         * 努力学习java,为了找个好工作!
         * 努力学习java,就是为了改变世界!
         */
        builder.replace(9, 16, "就是为了改变世界");
//        System.out.println(builder.toString());
        /*
         * 输出时直接输出builder也可以
         * 因为输出方法内部会调用builder的toString
         * 方法,将返回的字符串输出
         */
        System.out.println(builder);
        
        /*
         * 努力学习java,就是为了改变世界!
         * ,就是为了改变世界!
         */
        builder.delete(0, 8);
        System.out.println(builder);
        
        /*
         * ,就是为了改变世界!
         * 活着,就是为了改变世界!
         */
        builder.insert(0, "活着");
        System.out.println(builder);
        
StringBuilder builder= new StringBuilder("a");
        
        for(int i=0;i<10000000;i++) {
            builder.append("a");
        }
        
        System.out.println("执行完毕!");

 

  2.9  String substring(int start,int end)
    截取指定范围内的字符串
      注:java API中通常使用两个数字表示范围时都是”含头不含尾”的.

String host = "www.tedu.cn";
        
        String sub = host.substring(4,8);
        System.out.println(sub);
        
        //从指定位置开始截取到字符串末尾
        sub = host.substring(4);
        System.out.println(sub);

 

  2.10 String toUpperCase()

     String toLowerCase()

      将当前字符串中的英文部分转换为全大写或全小写

String str = "我爱Java";
        System.out.println(str);
        
        String upper = str.toUpperCase();
        System.out.println(upper);
        
        String lower = str.toLowerCase();
        System.out.println(lower);

  

  2.11  String trim()

    去除当前字符串两边的空白字符

String str = "  hello        ";
        System.out.println(str);
        
        String trim = str.trim();
        System.out.println(trim);

 

 

  2.12 valueOf

    String提供了一组静态方法
      可以将给定的内容转换为字符串,常用的是将基本类型转换为字符串

int a = 123;
        String s = String.valueOf(a);
        System.out.println(s);
        
        double dou = 123.123;
        s = String.valueOf(dou);
        System.out.println(s);
        
        s = a+"";
        System.out.println(s);

 

 3. Object类

  3.1 toString 

public String toString() {
        return "("+x+","+y+")";

  3.2 equals

public boolean equals(Object obj) {
        if (this == obj) 
            return true;
        if (obj == null)
            return false;
        if (getClass() != obj.getClass())
            return false;
        Point other = (Point) obj;
        if (x != other.x)
            return false;
        if (y != other.y)
            return false;
        return true;
    }

 

4. 包装类

  4.1 基本类型转为对应包装类

    Integer /Character

  4.2 包装类转为基本类型

    intValue/DoubleValue/byteValue

    Integer.parseInt(string)

 

5. 文件操作

 

  5.1 目录操作

    

    获取当前目录所有子项

File dir = new File(".");
        if(dir.isDirectory()) {
            File[] subs = dir.listFiles(); 
        }       

    删除目录

File dir = new File("./demo");
        if(dir.exists()) {
            //使用delete方法删除目录时要求该目录必须是一个空目录,否则删除失败 
            dir.delete();
      }

    过滤指定类

File dir = new File(".");
        if(dir.isDirectory()) {
            
             //文件过滤器适合使用匿名内部类形式创建
             
            FileFilter filter = new FileFilter() {
                
                public boolean accept(File file) {
                    System.out.println("正在过滤:"+file.getName());
                    String fileName = file.getName();
                    return fileName.startsWith(".");
                }            

     创建一个新目录

File dir = new File("./demo");
        if(!dir.exists()) {
            dir.mkdir();
          }

    创建一个多级目录

File dir = new File("./a/b/c/d/e/f");
        if(!dir.exists()) {
            /*
             *  mkdirs会将所有不存在的父目录一同创建出来.
         /*  而mkdir则不会,如果父目录不存在则创建失败.
        /* 因此以后推荐用mkdirs创建目录
             */
            dir.mkdirs();            

 

  5.2  File操作(表示文件系统中的一个文件或目录)

    File file = new File("./(文件名).(后缀名)");

      获取名字(getName();)

        String name = file.getName();

      判断文件状态

        boolean cr = file.canRead();   //可读
           boolean cw = file.canWrite();  //可写    boolean ih = file.isHidden();  //隐藏

 

       使用File创建一个新文件(createNewFile();)

File file = new File("./test.txt");
    file.createNewFile();  //如果文件不存在则创建该文件

 

       删除文件(delete)

File file = new File("./test.txt");
        if(file.exists()) {
            file.delete();
      }

      读文件

RandomAccessFile raf= new RandomAccessFile("./raf.dat","r");
        
        int d = raf.read();//只有一个字节,第一遍读到1
        System.out.println(d);//1
        
        int b = raf.read();//已经读到结尾,所以返回-1
        System.out.println(b);//-1
        raf.close();

 

      复制文件

RandomAccessFile src= new RandomAccessFile("./music.mp3","r");   //只读
RandomAccessFile desc= new RandomAccessFile("./music_cp.mp3","rw");  //读写
        
        int d = -1;
        long start = System.currentTimeMillis();
        while( (d = src.read()) != -1 ) {
            desc.write(d);

 

      向文件中写入文本数据

RandomAccessFile raf= new RandomAccessFile("./raf.txt","rw");
        
        String str = "来~左边跟我一起画个龙";
        
        byte[] data = str.getBytes("utf-8");        
        raf.write(data);
        
        raf.write(",右边再画一道彩虹~".getBytes("utf-8"));
        System.out.println("写出完毕!");
        raf.close();
        

 

      从文件中读取文本数据

RandomAccessFile raf= new RandomAccessFile("./raf.txt","r");
        
        byte[] data = new byte[(int)raf.length()];
        raf.read(data);
        
        String str = new String(data,"UTF-8");
        System.out.println(str);
        
        raf.close();

 

6. 使用RAF读写基本类型数据以及RAF基于指针的操作

   获取RAF指针位置     getFilePointer()   

   移动指针到指定的位置      void seek(long pos)

   读取指针位置的字节   read()

   连续读取   readInt ( ) 读4字节

RandomAccessFile raf= new RandomAccessFile("test.dat","rw");
                
        long pos = raf.getFilePointer();    //获取RAF的指针位置
        System.out.println("pos:"+pos);
      raf.seek(0);   //指针位置回到0
      int d = raf.read();  //读取指针位置的字节,只读一个字节

   

 

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/32716.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信