[Java] 各种常用函数
1.writeInt()和readInt()
这两个函数并不是写入一个整数,读取一个整数。它们实际上是写入4个字节,读取4个字节。
writeInt(int i)把i按四个字节,二进制形式写到输出流里,
例如i = 1,则将822938125写到文件输出流。
822938125转换为二进制是 110001 00001101 00001010 00001101
每个字节对应的十进制是 49 13 10 13
字符 '1 ',回车 '\r ' ,换行 '\n ' ,回车 '\r ' 。
所以文件里看到的是 1
控制台输出的是 822938125
2.File.list()和File.listFiles()
File f=new File("c:\\");
String[] f1=f.list();
File[] f2=f.listFiles();
① list() 返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录。
以C盘为例,返回的是c盘下文件夹名字的字符串数组,如[TEMP, Windows]
②listFiles() 返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。
以C盘为例返回的是C盘下文件夹目录地址,如[c:\TEMP, c:\Windows]
3.writeUTF()和readUTF()
readUTF()读取的必须是writeUTF()写下的字符串.
读取括号内参数的同时,将该参数转化为utf-8编码.
4.List.toArray()
将链表转换成数组
5.String.equals()和String.equalsIgnoreCase()
equals是重写object的方法,而
equalsIgnoreCase是String自己定义的方法
前者用于比较两个对象是否相等,而后者用于比较字符串忽略大小写的情况下是否相等
6.File.length()
返回表示此抽象路径名的文件的长度,以字节为单位
7.read/write(byte[] buffer, int offset, int length)
buffer: the buffer to be written.
offset: the start position in buffer
from where to get bytes.
length: the number of bytes from buffer
to write to this stream.
8.File的getPath()、getAbsolutePath()和getCanonicalPath()
getPath()会得到file构造函数参数的值;
getAbsolutePath()当参数为相对路径时会得到文件的绝对路径+相对路径,当参数为绝对路径时直接得到绝对路径;
getCanonicalPath()当参数为相对路径为得到文件的绝对路径,当参数为绝对路径时得到文件的绝对路径。
9.File.separator
表示分隔符:与系统有关的默认名称分隔符。
此字段被初始化为包含系统属性 file.separator 值的第一个字符。在 UNIX 系统上,此字段的值为 ‘/’;在 Microsoft Windows 系统上,它为 ‘\’。
10.wait()和notify()
wait就是当前线程被阻塞,直到被另一个线程notify(唤醒),然后当前进程继续执行上次未完成的操作。