Java知识整理(八)之SE.(类File+IO流)

类File
File file = new File("."+File.separator+"demo.text");
File file1 = new File(file,"a.text");
创建功能:public boolean createNewFile():创建文件,如果存在这样的文件,就不创建了。
public boolean mkdir();创建文件夹,如果存在这样的文件夹就不创建;public boolean mkdirs();创建文件夹,如果父文件夹不存在,会帮你创建。
删除功能:public boolean delete();删除一个文件(夹),文件夹内不能包含文件(夹);删除成功返回true,失败返回false;
判断功能:public boolean isDirectory();判断是否目录;public boolean isFile();判断是否文件;public boolean exists();判断是否存在
获取功能:public String getName();获取名称;public long length();获取长度,字节数;public long lastModified();获取最后一次修改时间,毫秒值
public String[] list();获取指定目录下所有文件(夹)的名称数组;public File[] listFiles();获取指定目录下所有文件(夹)的File数组;
递归删除多级目录:
public static void deleteFile(File file){
if(file.isDirectory()){
File[] subs = file.listFiles();
for(File sub:subs){
deleteFile(sub);
}
}
file.delete();
}


IO流
InputStream(IS)(所有字节输入流的父类);
int read():读取一个字节,以int形式返回,返回值为-1,则读完;int read(byte[] d):读取d.length的字节存到d中,返回值为实际读到的字节量
OutputStream(OS)(所有字节输出流的父类);
void write(int d):写出一个字节;void write(byte[] d):将d的所有字节写出
字节流:
FileOutputStream(FOS):
构造函数:FileOutputStream(File file);向file写数据(重写模式)FileOutputStream(String filename);向名字为filename的文件写数据(重写模式);
void write(int d);void write(byte[] d);void write(byte[] d,int offset,int len);将d中从偏移量off开始的len字节写入此文件输出流
追加模式:FileOutputStream(File file,true);FileOutputStream(String filename,true);
FileInputStream(FIS):
FileInputStream(File file);FileInputStream(String name);int read();int read(byte[] d);
高级字节流:
缓冲字节输出流(BOS):BufferedOutputStream bos = new BufferedOutputStream(fos);所有字节被存入缓冲区等待一次性写出;bos.close();关闭流之前会将缓冲区内容写出;
void flush();清空缓冲区,将缓冲区中的数据强制写出;
缓冲字节输入流(BIS):BufferedInputStream bis = new FileInputStream(fis); bis.close();
int d = -1;
while((d=bis.read())!=-1){
System.out.print(d);
}
字符流:
Reader是字符输入流的父类;
int read();读取一个字符;int read(char[] chs);读取chs.length个字符到chs中,返回值为读到的字符量;
Writer是字符输出流的父类;
void write(int c);写出一个字符;void write(char[] chs);将给定chs写出;void write(char[] chs,int offset,int len);void write(String str);将给定字符串写出
字符转换流(字符流子类,实现字符流方法)(将字节流转换为字符流,可以设置字符集):
InputStreamReader:构造方法:InputStreamReader(InputStream in,String charsetName);InputStreamReader(InputStream in);
OutputStreamWriter:构造方法:OutputStreamWriter(OutputStream out,String charsetName);OutputStreamWriter(OutputStream out);
高级流:
缓冲字符输出流(PW):PrintWriter:PrintWriter(File file);PrintWriter(String fileName);PrintWriter(OutputStream os);PrintWriter(Writer writer);
PrintWriter(OutputStream os,boolean autoFlush);PrintWriter(Writer writer,boolean autoFlush);autoFlush判断是否自动行刷新.
void print/println(八种基本类型):通过该方法写出的内容会被实际写出;
缓冲字符输入流(BR):BufferedReader:构造方法:BufferedReader(Reader reader);String readLine();读一行
对象序列化(OOS):ObjectOutputStream oos = new ObjectOutputStream(fos);void writeObject(Object o);将对象转换为字节序列
需要序列化所属的类必须实现Serializable接口;关键字transient:被该关键字修饰的属性在序列化时,其值将被忽略(瘦身);
对象反序列化(OIS):ObjectInputStream ois = new ObjectInputStream(fis);Object readObject();将字节序列转换为对应对象;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值