Java7学习记录.docx

上传人:b****3 文档编号:10312996 上传时间:2023-05-25 格式:DOCX 页数:48 大小:40.63KB
下载 相关 举报
Java7学习记录.docx_第1页
第1页 / 共48页
Java7学习记录.docx_第2页
第2页 / 共48页
Java7学习记录.docx_第3页
第3页 / 共48页
Java7学习记录.docx_第4页
第4页 / 共48页
Java7学习记录.docx_第5页
第5页 / 共48页
Java7学习记录.docx_第6页
第6页 / 共48页
Java7学习记录.docx_第7页
第7页 / 共48页
Java7学习记录.docx_第8页
第8页 / 共48页
Java7学习记录.docx_第9页
第9页 / 共48页
Java7学习记录.docx_第10页
第10页 / 共48页
Java7学习记录.docx_第11页
第11页 / 共48页
Java7学习记录.docx_第12页
第12页 / 共48页
Java7学习记录.docx_第13页
第13页 / 共48页
Java7学习记录.docx_第14页
第14页 / 共48页
Java7学习记录.docx_第15页
第15页 / 共48页
Java7学习记录.docx_第16页
第16页 / 共48页
Java7学习记录.docx_第17页
第17页 / 共48页
Java7学习记录.docx_第18页
第18页 / 共48页
Java7学习记录.docx_第19页
第19页 / 共48页
Java7学习记录.docx_第20页
第20页 / 共48页
亲,该文档总共48页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Java7学习记录.docx

《Java7学习记录.docx》由会员分享,可在线阅读,更多相关《Java7学习记录.docx(48页珍藏版)》请在冰点文库上搜索。

Java7学习记录.docx

Java7学习记录

Java7学习记录

String类的重要方法:

1)charcharAt():

返回位于指定索引处的字符;

2)Stringconcat():

追加一个字符串到另一个字符串的末尾(也可以使用”+”);

3)booleanequals():

确定两个字符的相等性,区别大小写;

4)booleanequalsIgnoreCase():

确定两个字符的相等性,忽略大小写;

5)intlength():

返回字符串中的字符个数;

6)Stringreplace():

用新字符代替给定字符;

7)Stringsubstring():

返回一个字符串的一部分;

8)StringtoLowerCase():

返回转换为小写字符的字符串;

9)StringtoString():

返回字符串的值;

10)StringtoUpperCase():

返回转换为大写字符的字符串;

11)Stringtrim():

删除字符串尾部的空白

StringBuffer和StringBuilder类的重要方法:

1)publicsynchronizedStringBuilderappend(Strings)

无论是否将返回值赋予变量,这一方法都将更新调用该方法的对象的值,该方法带有很多不同的参数,包括boolean、char、double、float、int、long及其他类型

2)publicStringBuilderdelete(intstart,intend)

该方法返回一个StringBuilder对象,并更新调用该方法的StringBuilder对象的值。

在这种情况下,都会从原始对象中删除一个从start到end(从0开始)的子字符串

3)publicStringBuilderinsert(intoffset,Strings)

该方法返回一个StringBuilder对象,并更新调用该方法的StringBuilder对象的值。

从offset开始插入第二个参数(可以是boolean、char、double、float、int、long等)

4)publicsynchronizedStringBufferreverse()

该方法返回StringBuffer对象,并更新调用该方法的StringBuffer对象的值,颠倒StringBuffer对象中的字符

5)publicStringtoString()

以String形式返回调用该方法的StringBuffer对象的值

工厂方法:

产生同一类的对象的类静态方法。

多态性:

方法的重写、重载和动态连接。

动态连接在运行时从子类到逐层的超类查找所调用的方法,调用第一个查找到的方法

static:

静态声明,可以声明一个方法、属性,也可以声明一个块,但是无论是方法还是块都只能调用其他静态属性或方法

static{

System.out.println(“Staticblockinitialized.”);

b=a*4;//a、b均为静态属性

}

final:

修饰变量,相当于C/C++的const常量声明:

finalintFILE_NEW=1;

修饰类,阻止他人继承:

finalclassEmployee{};

修饰方法,子类不能重写这个方法(final类中的方法都自动成为final方法)

内部类:

声明在类或者方法内部的类,只存活在类或者方法的内部,可以访问类内部的所有属性和方法,包括私有属性和方法

匿名内部类:

没有类名的内部类,只能使用超类的构造器和析构器,所以匿名内部类都是子类,超类可以是类或者是接口,最常用于组件绑定事件监听器时构造一次性的事件监听器

Vehiclev=newVehicle(){//Vehicle可以是类或者是接口

publicvoiddrive(){

System.out.println(“Drivingacar!

”);

}

}

Class类:

运行时记录类对象运行时信息类,虚拟机为每个类型管理一个Class对象,因此同一类型的对象生成的Class对象是同一个

获取Class对象的方法:

1)利用Object中的getClass()方法:

Classc=str.getClass();

2)使用Class类的静态方法forName(),参数只能为完整类名和接口名:

Classc=Class.forName(“java.lang.String”);

3)运用.class方式,基本数据类的封装类还可以用.TYPE来获取相应的基本数据类型的Class实例:

Classc=String.class;Classc=Integer.TYPE;

使用newInstance()方法创建一个类的实例:

Objectm=Class.forName(s).newInstance();

反射:

Java特有的机制,允许运行中的Java程序对自身进行检查,或者说“自审”,并能直接操作程序的内部属性。

JavaBean运用反射对软件组件进行可视化操作。

使用反射的3个步骤:

1)获得想操作的类的Class对象。

2)调用诸如getDeclaredMethods方法,以取得该类中定义的所有方法的列表。

3)使用reflectionAPI来操作这些信息。

使用反射来执行类中的方法,或者改变变量的值,即使是私有类型也能进行操作

packagetest.reflection;

importjava.lang.reflect.Field;

importjava.lang.reflect.Method;

publicclassPerson{

privateStringname;//私有属性

publicStringaddress;

publicPerson(Stringname){

this.name=name;

}

privatevoidsetAddress(Stringaddress){//私有方法

this.address=address;

}

publicstaticvoidmain(String[]args){

try{

Personperson=newPerson("zhangsan");

Classcls=Person.class;

//获得私有方法

Methodmethod=cls.getDeclaredMethod("setAddress",newClass[]{String.class});

//设置私有方法可以被访问

method.setAccessible(true);

//调用私有方法

method.invoke(person,newObject[]{"BJUT"});

System.out.println(person.address);//输出BJUT

//访问私有变量

Fieldfield=cls.getDeclaredField("name");

field.setAccessible(true);

System.out.println(field.get(person));//输出zhangsan

Field.setString(person,”pengyuqi”);

System.out.println(field.get(person));//输出pengyuqi

Objectarr=Array.newInstance(cls,10);//创建长度为10的Person数组

Array.set(arr,5,newPerson(“sakura”));//给索引为5的元素赋值

Personp=(Person)Array.get(arr,5);获取元素5

}catch(Exceptionex){

ex.printStackTrace();

}

}

}

File类:

构造函数:

1)File(Stringpath):

path为文件的路径名,如果只有文件名则使用当前路径

2)File(Strinpath,Stringname):

path为文件目录的路径名可以为null,name为文件名

3)File(Filedir,Stringname):

使用目录文件对象作为文件目录

4)File(URLurl):

打开url指向的文件

常量:

1)路径分隔符:

publicstaticfinalStringpathSeparator,相当于“;”

2)分隔符:

publicstaticfinalStringseparator,相当于“/”或者“\”,根据系统决定

常用方法

获取文件属性的方法

方法名

返回值类型

方法描述

canExecute()

boolean

判断应用是否可以执行该文件对象

canRead()

boolean

判断该文件对象是否可读

canWrite()

boolean

判断该文件对象是否可写

exits()

boolean

判断该文件对象或文件目录对象是否存在

getAbsoluteFile()

File

返回该文件或文件目录对象的绝对形式

getAbsolutePath()

String

返回该文件或文件目录对象的绝对路径

getName()

String

返回该文件或文件目录对象的名字

getParent()

String

返回该文件或文件目录对象的父路径

getParentFile()

File

返回该文件或文件目录对象的父文件对象

getPath()

String

获取路径

isAbsolute()

boolean

判断该路径名是否是绝对的

isDirectory()

boolean

判断该文件是否是目录

isFile()

boolean

判断该对象是否是文件

lastModified()

long

返回该对象最后修改的时间

length()

long

返回该对象的长度

常见操作文件的的方法

方法名

返回值类型

方法描述

createNewFile()

staticFile

当且仅当文件对象不存在是,建立一个空的文件

createTempFile(String,prefix,Stringsuffix)

staticFile

建立临时文件

delete()

boolean

删除文件或文件夹,文件夹需为空,否则需要递归删除

list()

String[]

返回该目录对象中的所有文件名,包括目录

list(FilenameFilterfilter)

String[]

返回该目录对象中的所有符合要求的文件名,包括目录

listFiles()

File[]

以文件形式返回该目录对象中的所有文件名,包括目录

mkdir()

boolean

该方法的作用是创建一个由这个File对象给定的子目录,如果子目录创建成功则返回true,否则返回false

mkdirs()

boolean

该方法的作用是创建文件夹,如果当前路径中包含的父目录不存在,也会自动根据需要创建

renameTo(Filedest)

boolean

重命名

toPath()

Path

将该文件对象转换成java.nio.file.Path对象

setReadOnly()

boolean

设置当前文件或文件夹为只读

Java7新文件系统

1)FileSystem:

提供了许多方法来获取当前文件系统的相关信息

2)Path:

处理路径(文件和目录)

3)Files:

支持各种文件操作,包括移动文件、复制文件、删除文件、获得详细的文件属性等

FileSystem类中常用的方法

方法名

返回值类型

方法说明

close()

void

关闭这个文件系统

getFileStores()

Iterable

返回该文件系统下的文件存储器

getPath(Stringfirst,String…more)

Path

将参数连接成一个路径字符串,转换成Path类型

isOpen()

boolean

判断该文件系统是否是打开的

isReadOnly()

boolean

判断该文件系统是否是只读的

Paths类中常用的方法

方法名

返回值类型

方法说明

get(Stringfirst,String…more)

Path

将参数连接成一个路径字符串,转换成Path类型

get(Urluri)

Path

将给的Url对象转换成Path对象

Path类中常用的方法

方法名

返回值类型

方法说明

compareTo(Pathother)

int

比较两个路径

endsWith(Pathother)

boolean

判断该路径是否是以给定的路径结尾的

endsWith(Stringother)

boolean

判断该路径是否是以给定的字符串构成的路径结尾的

equals(Objectother)

boolean

判断该路径是否与给定的路径相等

getFileName()

Path

获取该路径所表示的文件或目录的名字

getFileSystem()

FileSystem

获取创建该对象的文件系统

getName(intindex)

Path

获取该路径上指定位置的名字元素

getNameCount()

int

获取该路径上的名字元素的个数

getParent()

Path

返回该对象的代表父目录的路径

isAbsolute()

boolean

判断该对象是否是绝对的

iterator()

Iterator

返回该对象的名字元素的迭代容器

relativize(Pathother)

Path

构建该对象和给定对象之间的相对路径对象

resolve(Pathother)

Path

合并两个Path对象

resolveSibling(Pahtother)

Path

将给定的对象与该对象的父对象进行合并

startsWith(Pathother)

boolean

判断该对象是否以给定对象开始

subpath(intbeginIndex,intendIndex)

Path

获取该对象的名字元素序列的相对路径

toAbsolutePath()

Path

返回该对象的绝对路径

toFile()

File

将该对象转换成文件对象

toRealPath(LinkOption…options)

Path

返回存在文件的真实路径

toString()

String

将该文件转换成字符串的形式

Files类中的常用方法

方法名

返回值类型

方法描述

copy(InputStreamin,Pathtarget,CopyOption…options)

staticlong

将输入流中的所有字节复制到一个文件中

createDirectories(Pathdir,FileAttribute

>…attrs)

staticPath

创建目录,包括其中不存在的目录

createDirectory(Pathdir,FileAttribute

>…attrs)

staticPath

创建新目录

createFile(Pathpath,FileAttribute

>…attrs)

staticPath

创建新的文件

createTempDirectory(Pathdir,Stringprefix,FileAttribute

>…attrs)

staticPath

在指定目录下以指定的前缀创建临时目录

createTempFile(Pahtdir,Stringprefix,Stringsuffix,FileAttribute

>…attrs)

staticPath

在指定目录下以指定的前缀和后缀创建临时文件

delete(Pathpath)

staticvoid

删除文件

deleteIfExists(Pathpath)

staticboolean

如果文件存在则删除文件

exists(Pathpath,LinkOption…options)

staticboolean

判断文件是否存在

getLastModifiedTime(Pathpath,LinkOption…options)

staticFileTime

获取文件最后修改的时间

newBufferedReader(Pathpath,Charsetcs)

staticBufferedReader

返回文件的字符缓冲读入流

newBufferedWriter(Pathpath,Charsetcs,OpenOption…options)

staticBufferedWriter

返回文件的字符缓冲写入流

write(Pathpath,byte[]bytes,OpenOption…options)

staticPath

将字节写入文件

isSampleFile(Pathpath1,Pathpath2)

staticPath

判断两个路径对象是否代表同一个文件

字节流类InputStream和OutputStream

InputStream用来表示从不同数据源产生输入的类,包括:

1)字节数据

2)String对象

3)文件

4)“管道”,其工作方式与实际管道相似,即从一端输入,从另一端输出

5)一个由其他种类的流组成的序列,以便可以将它们收集、合并到某一单一的流内

6)音频数据

InputStream类的子类

AudioInputStream

从指定的音频格式和长度中读取数据

ByteArrayInputStream

将内部的缓冲区作为InputStream使用

FileInputStream

从文件中读取数据

FilterInputStream

FilterInputStream包含其他一些输入流,它将这些流用作其基本数据源,可以直接传输数据或提供一些额外的功能。

其构造函数中的参数为某一类型的InputStream

ObjectInputStream

ObjectInputStream(对象输入流)可读取使用对象输出流写入的原始数据和类型,与文件输入/输出流一起可以实现对象的持久性存储

PipedInputStream

PipedInputStream类与PipedOutputStream类用于在应用程序中创建管道通信。

一个PipedInputStream实例对象必须和一个PipedOutputStream实例对象进行连接,从而产生一个通信管道。

PipedOutputStream可以向管道中写入数据,PipedInputStream可以读取PipedOutputStream向管道中写入的数据。

这两个类主要用来完成线程之间的通信。

一个线程的PipedInputStream对象能够从另一个线程的PipedOutputStream对象中读取数据

SequenceInputStream

将两个或多个InputStream对象转换成单一的InputStream对象

FilterInputStream类的子类

BufferedInputStream

可以防止每次读取时都要进行实际写操作

CheckedInputStream

与CheckedOutputStream一起使用成为过滤流,用于维护数据校验和。

校验和是用于维护经过空间(如通信)或者时间(如计算机存储)传送的数据的完整性

CipherInputStream

构造函数中需要InputStream、Cipher,表示对读入的数据同时进行加密

DataInputStream

允许读取不同的基本类型数据以及String对象

DeflaterInputStream

以deflate压缩格式来压缩数据流

DigestInputStream

对输入数据的摘要加密

InflaterInputStream

表示一个过滤器,对以deflate压缩格式压缩的数据进行过滤

LineNumberInputStream

根据输入流中的行数,可调用getLineNumber()和setLineNumber()读取和设置行号

PushbackInputStream

可以对已读的字节进行“退回(pushback)”或者“取消读取(unread)”操作

InputStream通用方法

1)publicintavailable()

该方法的作用是返回当前流对象中还没有被读取的字节数量,即获得流中数据的长度

2)publcvoidclose()

该方法的作用是关闭当前流对象,并释放尕流对象占用的资源。

3)publicvoidmark(intreadlimit)

该方法的作用是为流对象当前位置设置标志,使得以后可以从该位置继续读取。

变量readlinit指设置该标志以后可以读取的最大数据长度。

4)publicBooleanmarkSupported()

该方法的作用是判断流是否支持标记。

5)publicabstractinread()

该方法的作用是读取当前流对象中的第一个字节。

当该字节被读取出来以后,该字节将被从流对象中删除。

原来流对象中的第二个字节将变成流中的第一个字节,使用流对象的available方法获得的数值也将减1。

如果需要读取流中的所有数据,只要使用一个循环依次读取每个数据即可。

当读取到流的末尾是,该方法返回-1

6)publicintread(byte[]b)

该方法的作用是读取当前流对象中的数据,并将读取到的数据依次存储到数据b,而实际读取的字节数量则作为方法的返回值返回

7)publicintread(byte[]b,intoff,intlen)

该方法的作用是从输入流中读取len个字节并写入b中,并返回写的字节数

8)publicvoidreset()

该方法的作用是将此流重新定位到mark()方法设置的位置。

9)publiclongskip(longn)

该方法的作用是跳过当前流对象中的n个字节,而实际跳过的字节数量则以返回值的方式返回。

OutputStream用来把产生的数据源输出到不同的数据源中,包括:

1)字节数组(字符串)

2)文件或管道

OutputStream类的子类

ByteArrayOutputStream

在内存中创建缓冲区,所有送往Stream的数据都要放置在此缓冲区

FileOutputStream

用于将信息写至文件中

FilterOutputStream

此类事过滤输出流的所有类的超类。

这些流位于已存在的输出流(基础输出流)之上,它们将已存在的输出流作为其基本数据接收器,但可能直接传输数据或提供一些额外的功能

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2