当前位置: 首页 > news >正文

Java--文件操作和IO

File类概述:

File 类是 Java 中用于表示文件和目录路径名的抽象表示形式。它允许应用程序对文件和目录进行各种操作,如创建、删除、重命名以及获取文件属性等

.代表当前目录

 ..代表父目录

构造方法:

1.File(String pathname):根据文件路径创建File实例,路径可以是绝对路径和相对路径。

2.File(File parent,String Child):根据父目录加孩子文件路径创建File实例。

3.File(String parent,String child):根据父目录和孩子文件路径创建File实例,父目录用路径表示。

import java.io.File;public class Demo1 {public static void main(String[] args) {File file = new File("test.txt");File file2 = new File(file,"test2.txt");File file3 = new File("d:/","test3.txt");}
}

相关方法:

getParent() :

获取 file 对象的父目录路径。返回值类型为String

        File file3 = new File("d:/","test3.txt");String test = file3.getParent();System.out.println(test);

getName:

获取 file 对象的纯文件名称。

        File file = new File("d:/","test.txt");String name = file.getName();System.out.println(name);

getPath() 和 getAbsolutePath()

获取 file 对象的  文件路径  和  绝对路径

        File file = new File("d:/","test.txt");String test1 = file.getPath();String test2 = file.getAbsolutePath();System.out.println(test1);System.out.println(test2);

getCanonicalPath()

(可能抛出IOexception异常):返回修饰过的绝对路径。

        File file = new File("d:/../test.txt");String test = file.getCanonicalPath();System.out.println(test);

由于d:/../test.txt 就相当于是 d:/test.txt ,这个方法会把冗余的路径优化掉,返回优化后的路径。

三个路径的区别:

getPath() 直接返回构造时传入的路径

getAbsoulatePath() 返回文件的绝对路径

getCanonicalPath() 返回优化后的路径

exists():

返回文件是否真实存在:

        File file = new File("d:/test");Boolean flg = file.exists();System.out.println(flg);

isDirectory() 和 isFile() 

判断 File 对象是否是一个目录/一个文件:

        File file = new File("d:/test");Boolean flg = file.isDirectory();Boolean flg2 = file.isFile();System.out.println(flg);System.out.println(flg2);

createNewFile()

根据File对象,创建一个File文件,成功后返回true

        File file = new File("d:/test.txt");Boolean flg = file.createNewFile();System.out.println(flg);

创建之后再次运行就变成了false

delete()

根据File对象,删除对应的文件,删除之后返回true

          File file = new File("d:/test.txt");Boolean flg = file.delete();System.out.println(flg);

deleteOnExit()

根据File对象删除对应文件,不过是等JVM运行结束之后才进行删除

        File file = new File("d:/test");file.deleteOnExit();

list()

返回File对象目录下的所有文件名,返回类型为 String[]

        File file = new File("d:Demo");for (String fileName:file.list()) {System.out.println(fileName);}

listFiles()

返回File对象目录下的所有文件,返回类型为 File[]

        File file = new File("d:/Demo");for (File fileN:file.listFiles()) {System.out.println(fileN.getName());}

mkdir()

创建File对象所代表的目录(单级目录),如果父目录不存在则创建失败

        File file = new File("d:Demo");file.mkdir();

mkdirs()

创建File对象所代表的目录(多级目录),可以创建中间目录

        File file = new File("d:Demo/Demo1/Demo2");file.mkdirs();

rename To(File desk)

进行文件改名操作:

        File file = new File("d:Demo");File file1 = new File("d:test");file.renameTo(file1);

变为:

canRead() 和 canWrite() 

判断用户是否有可读/可写操作:

        File file = new File("d:/test");Boolean flg = file.canRead();Boolean flg2 = file.canWrite();System.out.println(flg);System.out.println(flg2);

InputStream 

InputStream 是 Java 中用于读取字节数据的抽象基类,专注于数据的顺序读取操作

方法:

read()

读取一个字节的数据,如果读完了返回-1

read(byte[] b)

最多读取b.length字节的数据到b 中,返回实际读到的数量;-1代表读完了

read(byte[] b, int off, int len)

最多读取 len-off 字节的数据到 b 中,从off开始,返回实际读到的数量;-1代表以及读完了

close()

关闭字节流

InputStream 只是⼀个抽象类,要使⽤还需要具体的实现类。此处使用:FileInputStream

FileInputStream

构造方法:

FileInputStream(File file) 利用 File 文件构造输入流

FileInputStream(String name) 利用文件路径构造输入流

OutputStream

write(int b) 写⼊要给字节的数据

write(byte[] b) 将b这个字符数组中的数据全部写入

write(byte[] b, int off, int len) 将b这个字符数组中从off开始的 数据写⼊,⼀共写len个

close() 关闭字节流

flush() 将数据写入缓冲区,等 flush()刷新一下,就会成功写入

http://www.dtcms.com/a/458571.html

相关文章:

  • 收费的网站怎么做的哪个小说网站可以做封面
  • Kotlin when 用法完整分享
  • 巩义网站建设汕头市网络推广报价
  • 有哪些网站建设工作推广文案怎么写
  • 深圳宝安建网站动漫制作专业要多少分
  • Python爬虫优化实战:高效稳定爬图技巧
  • wordpress网站更新合水网站建设
  • 获取印度尼西亚股票数据API完全指南
  • 深圳建设网官方网站wordpress官方模板
  • 北京代理记账公司电话山西seo优化公司
  • 2025年免费网盘实用指南
  • fpga实现灰度质心法求取质心
  • 深圳微网站开发佛山制作网站企业
  • 网站制作流程论文wdcp设置网站安全
  • 深入解析 Spec Kit 工作流:基于 GitHub 的 Spec-Driven Development 实践
  • ArrayList - 如何实现数组和List之间的转换
  • 江淮网站开发邮件订阅 wordpress
  • 用html做网站源代码wordpress表单数据前台显示图片
  • 贵州省网站集约化建设青岛黄岛网站建设公司电话
  • 申请免费网站需要什么条件许昌网页制作
  • 济南环保行业网站开发群晖wordpress安装主题下载失败
  • 宁波建网站哪家好用点企业vi设计公司报价
  • YOLO入门教程(番外):YOLOv3创新思想及整体架构
  • 软件需求表文档与软件开发设计方案:核心区别及阶段归属解析
  • vue.js合作做网站么买了网站主机后如何建设网站
  • 三亚建设网站手机网站建设教材
  • IMX6ULL学习笔记_Boot和裸机篇(5)--- IMX6ULL使用ECSPI3驱动Flash启动程序
  • 传输层:TCP协议
  • 网站团购功能怎么做wordpress的模板制作
  • 做一个企业网站要多久怎么弄网站关键词