IO流
File 文件或文件夹(☆☆☆☆)
构造方法:
File f = new File ( ) ;
File f = new File ( String pathname) ;
File f = new File ( String parent, String child)
File f = new File ( File parent, String child)
成员方法:
创建:
public boolean createNewFile ( )
public boolean mkdir ( )
public boolean mkdirs ( )
删除:
public boolean delete ( )
判断:
public boolean isDirectory ( )
public boolean isFile ( )
public boolean exists ( )
获取:
public String getAbsolutePath ( )
public String getPath ( )
public String getName ( )
public File [ ] listFiles ( )
字节流 (☆☆☆☆☆)
字节输出流(写数据):
构造方法:
FileOutputStream fos = new FileOutputStream ( "D:\\a.txt" )
FileOutputStream fos = new FileOutputStream ( "D:\\a.txt" , true ) ;
成员方法:
public void write ( int b)
public void write ( byte [ ] b)
public void write ( byte [ ] b, int off, int len)
write ( \n) newLine 新一行 write ( \r) return 返回 -- - 把光标返回到行首位置 write ( \t) table键
使用完必须加fos.close
字节输入流(读数据):
构造方法:
FileInputStream fis = new FileInputStream ( "bytestream\\a.txt" ) ;
成员方法:
读取一个字节代码:
public void read ( )
循环读每个字节代码:
FileInputStream fis = new FileInputStream ( "bytestream\\a.txt" ) ;
int read;
while ( ( read = fis. read ( ) ) != - 1 ) {
System . out. println ( read) ;
}
fis. close ( ) ;
读取一个字节数组代码:
public int read ( byte [ ] bys) ;
循环读取每个字节数组代码:
FileOutputStream fos = new FileOutputStream ( "c.txt" ) ;
byte [ ] bys = new byte [ 3 ] ;
int len;
while ( ( len = fis. read ( bys) ) != - 1 ) {
System . out. println ( new String ( bys, 0 , len) ) ;
}
fis. close ( ) ;
使用完必须加fis.close
字节缓冲流(☆☆☆☆☆)
构造方法:
BufferedOutputStream ( OutputStream out)
BufferedInputStream ( InputStream in)
成员方法:
public void write ( int b)
public void write ( byte [ ] b, int off, int len)
public int read ( )
public int read ( byte [ ] b, int off, int len)
public void close ( )
使用完必须加bos.close和bis.close
字符流:(☆☆☆☆☆)
字符输出流(写数据):
构造方法:
FileWriter ( File file)
FileWriter ( File file, boolean append)
FileWriter ( String fileName)
FileWriter ( String fileName, boolean append)
成员方法:
void write ( int c)
void write ( char [ ] cbuf)
void write ( char [ ] cbuf, int off, int len)
void write ( String str)
void write ( String str, int off, int len)
刷新和关闭的方法:
flush() 刷新流,之后还可以继续写数据
close() 关闭流,释放资源,但是在关闭之前会先刷新流。一旦关闭,就不能再写数据
字符输入流(读数据):
构造方法:
FileReader ( File file)
FileReader ( String fileName)
成员方法:
int read ( )
int read ( char [ ] cbuf)
字符缓冲流(☆☆☆☆☆)
构造方法:
BufferedWriter ( Writer out)
BufferedReader ( Reader in)
特有方法:
BufferedWriter :
void newLine ( )
BufferedReader :
String readLine ( )
转换流(☆☆☆)
构造方法:
InputStreamReader ( InputStream in)
InputStreamReader ( InputStream in, String chatset)
OutputStreamWriter ( OutputStream out)
OutputStreamWriter ( OutputStream out, String charset)
jdk11以后:
public FileReader ( String fileName, Charset cs)
public FileWrite ( String fileName, Charset cs)
对象操作流(☆☆)
序列化流
构造方法:
ObjectOutputStream ( OutputStream out)
对象需要实现 Serializable 类
序列化对象的方法:
void writeObject ( Object obj)
设置序列号:
private static final long serialVersionUID = 123456L ;
设置不被序列化属性:
transient : 被这个关键字修饰的内容,是不运行序列化的。
例: private transient int age;
反序列化流
构造方法:
ObjectInputStream ( InputStream in)
反序列化对象的方法:
Object readObject ( )
Properties集合(☆☆☆☆☆)
构造方法:
Properties p = new Properties ( ) ;
特有方法:
Object setProperty ( String key, String value) 设置集合的键和值,都是String 类型,底层调用Hashtable 方法put
String getProperty ( String key) 使用此属性列表中指定的键搜索属性
Set < String > stringPropertyNames ( ) 从该属性列表中返回一个不可修改的键集,其中键及其对应的值是字符串
Properties和IO流相结合的方法:
void load ( Reader reader)
void store ( Writer writer, String comments)