java

Posted mljqqh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java相关的知识,希望对你有一定的参考价值。

1.file类

1----------------
boolean makedir 创建文件夹 048 a97 A65
boolean makedirs 创建文件夹
boolean creatfile 创建文件
boolean delete 删除文件 删除的文件不能包含其他文件
boolean renameTo(File dest) 相同路径是复制 不同路径是改名+剪切
-----------

2.fie类判断功能:

   System.out.println("exists:"+file.exists());//是否存在
        System.out.println("isDirectory:"+file.isDirectory());//是否是目录
        System.out.println("isHidden:"+file.isHidden());//是否隐藏
        System.out.println("isCanWrite:"+file.canWrite());//是否能写
        System.out.println("isCanRead:"+file.canRead());//是否能读
------------------------------------

 

3.file类的获取功能:

*getAbsolutePath()() 获取绝对路径
* getPath() 获取x相对路径
* getName()获取名字
* long length()获取文件大小 用毫秒来表示
* Date date = new Date(file.lastModified());
SimpleDateFormat simpleDateFormat =new SimpleDateFormat("yy-MM-dd HH:mm:ss");
String str=simpleDateFormat.format(date);
System.out.println(str);
file类的高级获取功能
        File file = new File("mljqqh");
        //匿名内部类
            File[] files = file.listFiles(new FileFilter() {
                @Override
                public boolean accept(File pathname) {
                    return pathname.isFile() && pathname.getName().endsWith(".jpg");
                }
            });
            for (File file1 : files) {
                System.out.println(file1.getAbsolutePath());
            }
//lambda方式
            File[] files = file.listFiles(pathname -> pathname.isFile() && pathname.getName().endsWith(".jpg"));
            for (File file1 : files) {
                System.out.println(file1.getAbsolutePath());
            }
 
        }
}
 
 
 

4.io类

1
windows 换行
linux换行
mac换行
 
追加使用的是构造方法
2
 
fileInputStream类
终极版本读文件
int i=0;
        while ((i=fis.read())!=-1){
            System.out.print((char)i);
        }
 
 
 
3
万能的字节流复制文本文件
FileInputStream fis= new FileInputStream("mljqqh.txt");
        FileOutputStream fos= new FileOutputStream("mljqqh1.txt");
        int by=0;
        while ((by=fis.read())!=-1){
            fos.write(by);
        }
    fis.close();
    fos.close();
 
 
 
 
4 read(byte [])使用
  FileInputStream fis= new FileInputStream("mljqqh.txt");
        byte [] bys= new byte[1024];
        int len;
        while ((len=fis.read(bys))!=-1){
            System.out.print(new String(bys,0,len));
 
5 read(byte [])复制文件
 
 
FileOutputStream fos = new FileOutputStream("mljqqh1.txt");
        FileInputStream fis =  new FileInputStream("mljqqh.txt");
        byte[] bys = new byte[1024];
        int len=0;
        while ((len=fis.read(bys))!=-1){
            fos.write(bys,0,len);
        }
        fis.close();
        fos.close();
 
 
 
 
6
//BufferedInputStream 读文件  BufferedInputStream是FileInputStream的  依靠 FileInputStream来装饰 左父右子2 
        BufferedInputStream bis= new BufferedInputStream(new FileInputStream("mljqqh.txt"));
        //第一种方式
//        int b=0;
//        while ((b=bis.read())!=-1){
//            System.out.print((char)b);
//        }
        //第二种方式
        byte[] bys = new byte[1024];
        int len=0;
        while ((len=bis.read(bys))!=-1){
            System.out.println(new String(bys,0,len));
        }
 
 
 
        bis.close();
 
------------------------------------
7
 
/*
转化流
OutputStreamWriter构造方法
OutputStreamWriter(OutputStream out)
OutputStreamWriter(OutputStream out,string charsetName)
//字符流五种写数据的方法
 
public write(int ch)//写一个字符 可以写数字 java会自动装换
public write(char[] cha)写一个字符数组
public write(char[] cha,int off,int len)写一个字符数组的一部分
public write(String str)写一个字符串
public write(String str,int off,int len)写一个字符串的一部分
 
 
 
 
*/
 
------------------------------------
8
Object 类
Class getClass 返回Class类 Class.name
             Tostring 直接输出对象名称就是调用该对象的Tostring()
------------------------------------

9.==跟eauals

==
基本类型:比较的是值
引用类型:比较的是地址
------------------------------------
eauals
Object类中比较的是对象的地址
String 类对equal进行了重新,比较的是字符串的值

 

10.clone浅克隆

/*
Cloneable是一个标记接口
被克隆的对象需要继承这个接口
Student stu=new Student("林青霞",28);
        System.out.println("stu的名字:" + stu.getName());
        Object obj=stu.clone();
        if (obj instanceof Student){
            Student stu1=(Student)obj;
            stu1.setName("周星驰");
            System.out.println("stu的名字:" + stu1.getName());
 
 
 
        }
 
*/
 

 

11.常量字符串相加

常量字符串相加,先看常量池里面有没有相同的字符串,有的话就返回常量地址,没有就创建·

12.string类

判断功能
boolean contains();判断大字符串是否包含小字符串
String substing (int start ,int end)包左不包右
13字符串的装换功能
byte[] gteByte() //把字符串装换成字节数组
char[] toCharArray()把字符串装换成字符数组
static String valueOf(char{} chr)//把字符数组装换成字符串
//static String valueOf(int i) 把int装换成字符串
14String的其他功能
/*
替换功能
String replace(char old,char new)
String replace(String old,String new)
去除字符串两端空格
String trim()
按照字典比较两个字符串
int compareto()
int compareToIgnoreCase()
分割功能 Sring[] split 如果分割的字符串出现在首位,那么分割的数组【0】是"" 
.前面加上\进行转义
String作为参数传递 跟基本类型一个效果
 
 
*/
 
 
 

15. Random 

 Random  右边-左边)左边
 
 

16.泛型的定义

泛型指的是任何引用类型

17.集合

https://blog.csdn.net/qq_37025445/article/details/76563133
集合功能的概述:
a.添加功能
boolean add(E e)
boolean addAll(Collection e )//添加一个集合
b删除功能
void clear()//删除所用功能
c判断功能
boolean contains(E e)
boolean contains( Collection e )
remove(E e)
removeAll(Collection e)移除一个集合
boolean isEmpty()//判断集合是否是空
d获取功能`
iteractor//集合的专用遍历方式 两个方法 hasnext() next(0
e长度功能
size()
f交集功能
boolean retainAll(Colletion e)//两个集合的交集 A对B做交集 ,结果保存在a中 b不变 返回的是a是否发生过变化
g转换功能
Object toArrary()
 
list的功能
void add(int index,Object element)//指定位置添加元素
ListIteractor List特有的迭代器
迭代器并发修改异常ConcurrentModificationException解决方法
aListIteractor 迭代修改(增删除加  )
b用for循环遍历修改(只能增加,删除会引发越界异常的)
c使用一个集合 然后操作
 
 
 
collecton (存取有序,有索引,数据不唯一 set跟这个刚好相反 )
 
ArraryList
数据结构:数组 查询快 增删满
A增
add
remove 返回删除的元素
 
set 返回原来的值
get
长度 size
 
LinkList 数据结构:双链表
 
 
Vector的特有功能
数据结构:数组 查询快 增删满
pubulic void addElement(E e)
public E elementAt(int index)
LinkedList的特有功能
a添加功能
public void addFirst(object o)
public void addLast(Object o)
b获取 first last
c删除first last
-------------------------------------------------
set集合特点:存储无序,数据唯一,没有索引(collection跟这个相反)
a:HashSet
数据结构是哈希表(数组+链表+红黑树)
底层hashcode()和equals(),他数据要保证唯一就要重新hashcode()和equals()
 
String 已经重写了hashCode 和 equals 会自动比较
-----------------------------
TreeSet
数据结构是红黑树(一种自平衡的二叉树)
排序方式:
自然排序,让类实现Comparable接口
比较器排序Comparator,使用集合构造方法,生成匿名内部类创建对象
------------------------------
 
LinkhashSet
数据结构:哈希表(保证唯一)+链表(存取有序)
 
特点:存取有序,唯一
 
 
 
Map就是一个顶级接口
MapSet跟collection没有关系
添加功能:
V put(V key,V value):如果没有键就添加,返回null,有键值就修改返回以前的值
删除功能:
void clear()清空
void remove()
判断:
boolean containsKey( K key)
boolean containsValue( K Value)
boolean isEmpty()
长度:size()
获取:
V get(Object key):获取值
Set<K> keySet()获取所用键
Collectio<V> values() 获取所有的键
Set<Map.Entry<K,V>,V> entrySet获取所有键值对象
 
iter
itco
 
特点:
无序
-------------
 
18
+=自带强转
19
StringBuffer类 线程安全,可变的字符序列。
构造方法
public StringBuffer()无参构造 初始化是16 不够再分配
pubulic StringBuffer(int capacity )指定的容量字符串缓冲区对象
pubulic StringBuffer(String str )指定字符串 内容的缓冲区对象
 
 
 
方法
pubulic int capacity() 返回容量
pubulic int length() 返回长度大小
 
技巧:使用链式编程
 
增append insert
删deleteCharAt(int index) delete(int start,int end) 包左不包右 delete(0,sb.length)删除全部
改:
替换 replece(int start,int end,String str ) 反转 reverse() 获取:subString返回的不是StringBuffer本身,是字符串
 
static 同一类中静态方法只能调静态方法,不能调用普通方法,因为普通成员方法依赖对象还没有创建。
 
20继承
this()调用空参构造
this(参数)调用实参构造方法 this("mlj",20)放在第一行
只能在本类中使用
 
泛型:
泛型三种:
          [1]ArrayList<T> al=new ArrayList<T>();指定集合元素只能是T类型
          [2]ArrayList<?> al=new ArrayList<?>();集合元素可以是任意类型,这种没有意义,一般是方法中,只是为了说明用法
          [3]ArrayList<? extends E> al=new ArrayList<? extends E>();
            泛型的限定:
               ? extends E:接收E类型或者E的子类型。
               ?super E:接收E类型或者E的父类型。
 
网络编程:
 
InetAddress获取ip

获取Class对象的三种方式

方式一:对象.getClass() 方法是 根对象Object的方法。 是其他类继承Object的getClass方法。 
方式二:类名.class,你可以理解为字节码本身就是静态的,类加载的时字节码就进JVM了。所以类.class好比类调用静态方法似得调用字节码对象。
 方式三:Class.forName()是Class类的静态方法。参数是字符串,字符串是类的全路径名。








以上是关于java的主要内容,如果未能解决你的问题,请参考以下文章

# Java 常用代码片段

# Java 常用代码片段

创建片段而不从 java 代码实例化它

如何重构这个 Java 代码片段

java 反射代码片段

java 代码片段