java之String工具类和File类


Stringjava

  1. string中的经常使用方法正则表达式

  • matches(String regex)数组

  • replace(char oldChar,char newChar)安全

  • replaceAll(String regex,String replace)dom

  • split(String regex)ui

  • substring(int beginIndex,int endIndex)spa

  • length().net

  • trim()线程

  • startsWith(String prefix)指针

  • endsWith(String suffix)

  • indexOf(String str)

  • charAt(int i)

 

2.正则表达式

 


^

行的开头

[abc]

ab c(简单类)

$

行的结尾

\d

数字:[0-9]

\

转义

\D

非数字:[^0-9]

()

结合

\w

单词字符:[a-zA-Z_0-9]

|

或者

\W

非单词字符:[^\w]

?

0-1

{n}

n

*

0-n

{n,}

>=n

+

1-n

{n,m}

nm(>=n <=m)


应用举例:

String mobiNum="^1[0-9]{10}$";

String email="^[a-zA-Z0-9_]+@[a-zA-Z0-9_]+(\\.com|\\.net)$";


3.String类和对象池

获得String对象的两种方法:

String str1 = "hello";

String str2 = new String("hello");

第一种方法在字符串池中拿对象,第二种方法直接生成新的对象。

举例说明:

String str1 = "hello";

String str2 = "hello";

System.out.println(str1 == str2);//true

结果为true,说明str1str2指向同一个对象,由于它们都是在对象池中拿对象。

String str3 = "hello";

String str4 = new String("hello");

System.out.println(str3 == str4);//false

结果为false,由于在任何状况下,只要去new一个String对象那都是建立了新的对象。


4.StringStringBufferStringBuilder的区别:

String是不能够变的字符串
StringBuffer
线程安全的可变字符序列。

StringBuilder一个可变的字符序列(线程不安全),效率高




Object

java中的一个特殊类,它是java体系中全部类的父类(直接父类或者间接父类)。

  1. toString()方法

当咱们直接用打印语句(System.out.print())输出对象时,是隐式的调用了对象的toString()方法的返回。能够经过子类定义toString()来覆盖父类的toString(),以取得咱们想获得的表现形式,即当咱们想利用自定义的方式描述对象时,应该覆盖toString()

toString()方法在Object中的十六进制显示方式为包名.类名@hashCode



  1. equals()方法

==”判断的是变量的值是否相等,equals()方法判断的是对象的值是否相等。用户若是想比较自定义类的对象是否相等,就必须在该类中覆盖equals()方法。

  • 基本类型比较时用==

  • 对象与null比较时用==

  • 对象与对象比较时,使用equals()




File

1File 既能表明文件,也能表明目录。在JAVA 中文件和目录都属于这个类中,并且区分不是很是的明显。

注意:建立一个文件对象和建立一个文件在OS中是两个不一样的概念。前者是在虚拟机中建立了一个文件,但却并无将它真正地建立到OS的文件系统中,随着虚拟机的关闭,这个建立的对象也就消失了。而建立一个文件才是在系统中真正地创建一个文件。

例如:

File f=new File(“11.txt”);//建立一个名为11.txt的文件对象

f.CreateNewFile(); //真正地建立文件


2File 类的经常使用方法

boolean createNewFile()建立文件

boolean mkdir()建立目录

boolean mkdirs()建立多个目录

boolean delete()删除文件

String[] list():返回当前File对象下全部文件和目录名(相对路径)

File[] listFiles():返回当前File对象全部对象,能够用getName()来访问到文件名。

String[] list(FileFilter filter)返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中知足指定过滤器的文件和目录。

File[] listFiles(FileFilter filter)返回此抽象路径名的绝对路径名形式。

isDirectory()isFile()来判断到底是目录仍是文件。

String getAbsolutePath()返回此抽象路径名的绝对路径名字符串。

StringgetParent()返回此抽象路径名父目录的路径名字符串;若是此路径名没有指定父目录,则返回 null

File getParentFile()返回此抽象路径名父目录的抽象路径名;若是此路径名没有指定父目录,则返回 null

String getPath()将此抽象路径名转换为一个路径名字符串。

boolean exists()判断文件是否存在


十三.RandomAccessFile

1可经过RandomAccessFile 对象完成对文件的读写操做

2在产生一个对象时,可指明要打开的文件的性质:

r,只读;w,只写;rw 可读写

3此类的实例支持对随机存取文件的读取和写入。随机存取文件的行为相似存储在文件系统中的一个大型字节数组。存在指向该隐含数组的光标或索引,称为文件指针。

写入隐含数组的当前末尾以后的输出操做致使该数组扩展。该文件指针能够经过getFilePointer方法读取,并经过seek方法设置。


4经常使用的方法:

void close()关闭此随机存取文件流并释放与该流关联的全部系统资源。

int read(byte[] b)将最多b.length个数据字节今后文件读入 byte 数组。

int read(byte[] b, int off, int len)将最多len个数据字节今后文件读入byte 数组。

void write(byte[] b)b.length个字节从指定byte数组写入到此文件,并从当前文件指针开始。
voidwrite(byte[] b, int off, int len)
len个字节从指定byte数组写入到此文件,并从偏移量 off处开始。

void seek(long pos)设置文件指针偏移量,在该位置发生下一个读取或写入操做。

int skipBytes(int n)尝试跳过输入的n个字节以丢弃跳过的字节。

long getFilePointer() 返回此文件中的当前偏移量。

例如写内容:

raf.seek(raf.getFilePointer());//指针指向文件内容的开始位置

//raf.seek(raf.length()); //指针指向文件内容的末尾位置

raf.write("你好吗".getBytes());

此外,还有一系列的read方法和write方法,好比读/写整形、浮点型、字符串等

相关文章
相关标签/搜索