【Java EE】File类的用法和InputStream、OutputStream的用法

   在Java中,File类和InputStream、OutputStream是常用的输入输出相关的类,他们在文件的读写和处理方面有着广泛的应用。

1.File类的用法

File类用于表示文件或者目录的路径名。它提供了许多方法来操作文件或目录,包括创建、删除、重命名、修改文件或者目录等等。

以下是File类的常用属性、构造方法以及方法:

属性
修饰符以及类型属性说明
static StringpathSeparator

依赖于系统的路径分隔符,String类型的表示

static charpathSeparator依赖于系统的路径分隔符,char类型的表示

 

 

构造方法
签名

说明

File(File parent,String child)根据父目录+孩子文件路径,创建一个新的File实例
File(String pathname)根据文件路径创建一个新的File实例,路径可以是绝对路径或者相对路径
File(String parent,String child)根据父目录+孩子文件路径,创建一个新的File实例,父目录用路径表示

 

 

 

 

 

 

方法
修饰符及返回值类型方法签名说明
StringgetParent()返回File对象的父目录文件路径
StringgetName()返回File对象的纯文件名称
StringgetPath()返回File对象的文件路径
StringgetAbsolutePath()返回File对象的绝对路径
StringgetCanonicalPath()返回File对象的修饰过的绝对路径
booleanexists()判断File对象描述的文件是否真实存在
booleanisDirectory()判断File对象代表的文件是否是一个目录
booleanisFile()判断File对象代表的文件是否是一个普通文件
booleancreateNewFile()根据File对象,自动创建一个空文件。成功创建后返回true
booleandelect()根据File对象,删除该文件,成功删除后返回true
voiddeleteOnExit()根据File对象,标注文件将被删除,删除动作会到jvm运行结束时才会结束
String[]list()返回File对象代表的目录下的所有文件名
File[]listFiles()返回File对象代表的目录下的所有文件,以File对象表示
booleanmkdir()创建File对象代表的目录
booleanmkdirs()创建File对象代表的目录,如果必要,会创建之间目录
booleanrename To(File dest)进行文件改名,也可以视为我们平时的剪切、粘贴操作
booleancanRead()判断用户是否对文件有可读权限
booleancanWeite()判断用户是否对文件有可写权限

 

代码示例:

File file = new File("C:\\test.txt");  
if (file.createNewFile()) {  
    System.out.println("File created successfully.");  
} else {  
    System.out.println("File already exists.");  
}  
file.delete();
2.InputStream、OutputStream的用法

InputStream、OutputStream 是 Java中最基本的输入输出流,它们是所有输入输出流的根类。InputStream 表示输入流,用于从输入流中读取数据;OutputStream 表示输出流,用于将数据写入输出流。

以下是 InputStream 和 OutputStream 常用的方法:

int read():从输入流中读取一个字节的数据,并返回读取的字节值,如果已经到达文件末尾,则返回 -1。

int read(byte[] b): 从输入流中读取指定长度的字节数据,存储到指定的字节数组中,并返回实际读取的字节数,如果已经到达文件末尾,则返回 -1。

long skip(long n):跳过输入流中的指定字节数,并返回实际跳过的字节数。

void write(int b) :将一个字节的数据写入输出流。

void write(byte[] b): 将指定长度的字节数据写入输出流。

代码示例:

InputStream inputStream = new FileInputStream("C:\\test.txt");  
byte[] buffer = new byte[1024];  
int length = inputStream.read(buffer);  
while (length != -1) {  
    System.out.print(new String(buffer, 0, length));  
    length = inputStream.read(buffer);  
}  
inputStream.close();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小劉要努力~

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

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

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

打赏作者

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

抵扣说明:

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

余额充值