Java小记 File类、相关I/O流


File 类

  • 创建、删除、重命名文件等操作;
  • 获取目录、文件长度、文件读写权限等。

文件创建、删除
  • 创建

1.File(String path)

File file = new File(String path);

2.File(String parent, String child)

File file = new File("D:/doc/", "readme.txt");

3.File(File f, String child)

File f = new File("D:/doc/");
File file = new File(f, "readme.txt");
  • 文件不存在,创建文件
File file = new File(path);
if(file.exits()){
	file.delete();
}else{
	file.createNewFile();
}

  • 删除
File file = new File(String path);
file.delete();

一些方法
方法返回值说明
getName()String文件名称
getPath()String获取路径
length()long文件长度(字节为单位)
getAbsolutePath()String文件绝对路径
getParent()String文件父路径
getParentFile()File父文件对象
lastModified()long文件最后修改时间
delete()boolean删除
renameTo(File dest)boolean改名
createNewFile()boolean创建文件
mkdir()boolean创建路径
mkdirs()boolean创建多层目录
list([FilenameFilter filter])String[][]中参数可无;返回路径下所有文件路径。
listFiles([FileFilter filter])File[]
listFiles([FilenameFilter filter])File[]
canRead()boolean判断是否可读
canWrite()boolean判断是否可写
canExcute()boolean判断可执行否
setExcutable(boolean excutable[, boolean ownerOnly])boolean设置可执行性
setLastModified(long time)boolean设置最后修改时间
setReadOnly()boolean设置为只读
setReadable(boolean readable[, boolean ownerOnly])boolean设置读权限
setWritable(boolean writable[, boolean ownerOnly])boolean设置写权限
exits()boolean判断是否存在
isFile()boolean判断文件是否存在
isDirectory()boolean判断是否为目录
isHiden()boolean判断是否为隐藏文件

文件输入、输出流

  • FileInputStreamFileOutStream
  • 分别继承InputStreamOutputStream
  • 两个流的构造方法相同,FileOutStream可以指定不存在的文件(创建它)
  • 处理的是字节

FileReader、FileWriter类
  • 处理字符流

带缓存的输入、输出流

  • BufferedInputStreamBufferedOutputStream
构造方法
  • BufferedInputStream(InputStream in[, int size])
  • BufferedOutputStream(InputStream in[, int size])
构造一个带size字节的缓存流(区),默认为32字节
flush()方法:在缓存区没有满的情况下,也将缓存区的内容强制写入到外设。【刷新】
  只对使用缓存区的OutputStream类的子类有效。
使用close()方法时,系统关闭流之前,也会将缓存区的信息刷新到磁盘文件。

  • BufferedReader、BufferedWriter
  • BufferedReader类常用方法
方法说明
read()读取单个字符
readline()读取一文本行,返回字符串,无数据返回null
  • BufferedWriter类常用方法
方法说明
write(String s, int off, int len)写入字符串的一部分[off, off+len)
flush()刷新该流的缓存
newLine()写入一个行分隔符
  • 调用write()方法时,并没有立即写入输出流,而是先进入缓存区中。想要立即将缓存区的数据写入输出流,应调用flush()方法。

数据输入、输出流

  • DataInputStreamDataOutputStream
  • 从底层输入流中读取基本Java数据类型。读取数据时,不必关心这个数值应当是哪种字节。

构造方法
  • DataInputStream(InputStream in)
  • DataOutputStream(OutputStream out)

DataOutputStream 类写入方法
方法说明
writeBytes(String s)将字符串中每一个字符的低字节写入目标设备中
writeChars(String s)将字符串中每一个字符的两个字节的内容都写到目标设备中
writeUTF(String s)将字符串按照UTF编码后的字节长度写入目标设备,然后才是每一个字节UTF编码
DataInputStream 类读方法
方法说明
readUTF()读入字符串
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

薛定谔的壳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值