一文详解JAVA的File类,FileInputStream和FileOutputStream

2024-01-15 11:52

本文主要是介绍一文详解JAVA的File类,FileInputStream和FileOutputStream,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

一、File类介绍

二、FileInputStream类

三、FileOutputStream类



一、File类介绍

Java的File类是用于操作文件和目录的类。它提供了一组方法来创建、删除、重命名、复制、移动文件和目录,以及查询文件和目录的属性。

File类的常用方法有:

  • exists():判断文件或目录是否存在。
  • isDirectory():判断当前File对象是否代表一个目录。
  • isFile():判断当前File对象是否代表一个文件。
  • getName():获取文件或目录的名称。
  • getPath():获取文件或目录的路径。
  • mkdir():创建单级目录。
  • mkdirs():创建多级目录。
  • delete():删除文件或目录。
  • renameTo(File dest):重命名文件或目录。
  • list():返回目录中的文件和子目录的名称数组。
  • length():获取文件的大小。
import java.io.File;public class FileExample {public static void main(String[] args) {File file = new File("test.txt");if (file.exists()) {System.out.println("文件存在");if (file.isFile()) {System.out.println("是一个文件");System.out.println("文件名称:" + file.getName());System.out.println("文件路径:" + file.getPath());System.out.println("文件大小:" + file.length() + "字节");}} else {System.out.println("文件不存在");}}
}

上述代码创建了一个File对象,表示名为"test.txt"的文件。然后,通过调用File类的方法判断文件是否存在,以及文件的属性信息。

File类的方法只是对文件和目录进行操作,不涉及文件内容的读写。如果需要读写文件内容,可以使用Java的IO流类来实现。

二、FileInputStream类

Java的FileInputStream类是用于从文件中读取数据的类。它是InputStream类的子类,可以用于读取字节流数据。

FileInputStream类的构造函数可以接受一个文件名或文件对象作为参数,用于指定要读取的文件。它提供了一系列的read()方法,用于从文件中读取字节数据。

常用的FileInputStream类的方法包括:

  • read():从文件中读取一个字节的数据,并返回读取的字节。如果已读到文件末尾,则返回-1。
  • read(byte[] buffer):从文件中读取数据,并将读取的数据存入指定的字节数组buffer中。返回实际读取的字节数。
  • skip(long n):跳过指定的字节数。
  • available():返回文件中剩余可读取的字节数。
  • close():关闭文件输入流。
import java.io.FileInputStream;
import java.io.IOException;public class FileInputStreamExample {public static void main(String[] args) {FileInputStream fis = null;try {fis = new FileInputStream("test.txt");int data;while ((data = fis.read()) != -1) {System.out.print((char) data);}} catch (IOException e) {e.printStackTrace();} finally {if (fis != null) {try {fis.close();} catch (IOException e) {e.printStackTrace();}}}}
}

三、FileOutputStream类

Java的FileOutputStream类用于将数据写入文件中。它是OutputStream类的子类,可以用于写入字节流数据。FileOutputStream类的构造函数可以接受一个文件名或文件对象作为参数,用于指定要写入的文件。它提供了一系列的write()方法,用于写入字节数据到文件中。

这篇关于一文详解JAVA的File类,FileInputStream和FileOutputStream的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/608807

相关文章

MySQL 日期时间格式化函数 DATE_FORMAT() 的使用示例详解

《MySQL日期时间格式化函数DATE_FORMAT()的使用示例详解》`DATE_FORMAT()`是MySQL中用于格式化日期时间的函数,本文详细介绍了其语法、格式化字符串的含义以及常见日期... 目录一、DATE_FORMAT()语法二、格式化字符串详解三、常见日期时间格式组合四、业务场景五、总结一、

Spring Cloud Hystrix原理与注意事项小结

《SpringCloudHystrix原理与注意事项小结》本文介绍了Hystrix的基本概念、工作原理以及其在实际开发中的应用方式,通过对Hystrix的深入学习,开发者可以在分布式系统中实现精细... 目录一、Spring Cloud Hystrix概述和设计目标(一)Spring Cloud Hystr

Qt实现发送HTTP请求的示例详解

《Qt实现发送HTTP请求的示例详解》这篇文章主要为大家详细介绍了如何通过Qt实现发送HTTP请求,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、添加network模块2、包含改头文件3、创建网络访问管理器4、创建接口5、创建网络请求对象6、创建一个回复对

Spring Boot整合消息队列RabbitMQ的实现示例

《SpringBoot整合消息队列RabbitMQ的实现示例》本文主要介绍了SpringBoot整合消息队列RabbitMQ的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的... 目录RabbitMQ 简介与安装1. RabbitMQ 简介2. RabbitMQ 安装Spring

Apache伪静态(Rewrite).htaccess文件详解与配置技巧

《Apache伪静态(Rewrite).htaccess文件详解与配置技巧》Apache伪静态(Rewrite).htaccess是一个纯文本文件,它里面存放着Apache服务器配置相关的指令,主要的... 一、.htAccess的基本作用.htaccess是一个纯文本文件,它里面存放着Apache服务器

springMVC返回Http响应的实现

《springMVC返回Http响应的实现》本文主要介绍了在SpringBoot中使用@Controller、@ResponseBody和@RestController注解进行HTTP响应返回的方法,... 目录一、返回页面二、@Controller和@ResponseBody与RestController

JAVA集成本地部署的DeepSeek的图文教程

《JAVA集成本地部署的DeepSeek的图文教程》本文主要介绍了JAVA集成本地部署的DeepSeek的图文教程,包含配置环境变量及下载DeepSeek-R1模型并启动,具有一定的参考价值,感兴趣的... 目录一、下载部署DeepSeek1.下载ollama2.下载DeepSeek-R1模型并启动 二、J

springboot rocketmq配置生产者和消息者的步骤

《springbootrocketmq配置生产者和消息者的步骤》本文介绍了如何在SpringBoot中集成RocketMQ,包括添加依赖、配置application.yml、创建生产者和消费者,并展... 目录1. 添加依赖2. 配置application.yml3. 创建生产者4. 创建消费者5. 使用在

Spring Retry 实现乐观锁重试实践记录

《SpringRetry实现乐观锁重试实践记录》本文介绍了在秒杀商品SKU表中使用乐观锁和MybatisPlus配置乐观锁的方法,并分析了测试环境和生产环境的隔离级别对乐观锁的影响,通过简单验证,... 目录一、场景分析 二、简单验证 2.1、可重复读 2.2、读已提交 三、最佳实践 3.1、配置重试模板

Spring中@Lazy注解的使用技巧与实例解析

《Spring中@Lazy注解的使用技巧与实例解析》@Lazy注解在Spring框架中用于延迟Bean的初始化,优化应用启动性能,它不仅适用于@Bean和@Component,还可以用于注入点,通过将... 目录一、@Lazy注解的作用(一)延迟Bean的初始化(二)与@Autowired结合使用二、实例解