Java IO: File

转载自  Java IO: File

译文链接 作者: Jakob Jenkov 译者: 李璟(jlee381344197@gmail.com)

Java IO API中的FIle类可以让你访问底层文件系统,通过File类,你可以做到以下几点:

  • 检测文件是否存在
  • 读取文件长度
  • 重命名或移动文件
  • 删除文件
  • 检测某个路径是文件还是目录
  • 读取目录中的文件列表

请注意:File只能访问文件以及文件系统的元数据。如果你想读写文件内容,需要使用FileInputStream、FileOutputStream或者RandomAccessFile。如果你正在使用Java NIO,并且想使用完整的NIO解决方案,你会使用到java.nio.FileChannel(否则你也可以使用File)。

实例化一个java.io.File对象

在使用File之前,必须拥有一个File对象,这是实例化的代码例子:

File file = new File("c:\\data\\input-file.txt");

很简单,对吗?File类同样拥有多种不同实例化方式的构造函数。

检测文件是否存在

当你获得一个File对象之后,可以检测相应的文件是否存在。当文件不存在的时候,构造函数并不会执行失败。你已经准备好创建一个File了,对吧?

通过调用exists()方法,可以检测文件是否存在,代码如下:

File file = new File("c:\\data\\input-file.txt");boolean fileExists = file.exists();

文件长度

通过调用length()可以获得文件的字节长度,代码如下:

File file = new File("c:\\data\\input-file.txt");long length = file.length();

重命名或移动文件

通过调用File类中的renameTo()方法可以重命名(或者移动)文件,代码如下:

File file = new File("c:\\data\\input-file.txt");boolean success = file.renameTo(new File("c:\\data\\new-file.txt"));

删除文件

通过调用delete()方法可以删除文件,代码如下:

File file = new File("c:\\data\\input-file.txt");boolean success = file.delete();

delete()方法与rename()方法一样,返回布尔值表明是否成功删除文件,同样也会有相同的操作失败原因。

检测某个路径是文件还是目录

File对象既可以指向一个文件,也可以指向一个目录。可以通过调用isDirectory()方法,可以判断当前File对象指向的是文件还是目录。当方法返回值是true时,File指向的是目录,否则指向的是文件,代码如下:

File file = new File("c:\\data");boolean isDirectory = file.isDirectory();

读取目录中的文件列表

你可以通过调用list()或者listFiles()方法获取一个目录中的所有文件列表。list()方法返回当前File对象指向的目录中所有文件与子目录的字符串名称(译者注:不会返回子目录下的文件及其子目录名称)。listFiles()方法返回当前File对象指向的目录中所有文件与子目录相关联的File对象(译者注:与list()方法类似,不会返回子目录下的文件及其子目录)。代码如下:

File file = new File("c:\\data");String[] fileNames = file.list();File[] files = file.listFiles();


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/327670.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java计算出生到现在经历了多少天

总是不知道自己现在几岁了,这个程序帮你解决 package com.kuang.demo07; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Scanner;public class demo {public static void main(String[] args) th…

微软的FreeBSD社区推广活动 北京站,你没看错!微软现在是一家名副其实的开源公司

自2012年开始,微软云计算与企业事业部和Citrix思杰,NetApp达成合作,共同开发出第一版针对Hyper-V虚拟设备驱动以及相关的用户态程序,并将此称之为集成服务 (Integration Service) 。微软也紧密地和FreeBSD社区合作,所有…

别羡慕别人的舒服,静下心来坚持奋斗!!!

通常给家里打电话的时候是晚上23点之后,因为家里也知道我这边忙,我也知道家里23点之前也在忙,所以选择在23点之后和家里联系联系,聊聊家常。自从到济南3年之久,即使在忙也每隔3-5天就给家里通一次电话,每次…

粉虫螨过敏性鼻炎

https://zhidao.baidu.com/question/1452443485981809220.html 粉虫螨过敏引起鼻炎,咽炎.怎么办 2018-01-04 螨虫过敏分很多症状,常见的有皮肤过敏和呼吸道过敏两类: 这个作者写的非常的正确 一、皮肤过敏:主要…

Linux ss命令 报错,ECS Linux中ss命令显示连接状态的使用说明

1. ss命令可用来获取socket统计信息,这个命令输出的结果类似于netstat输出的内容,但是它能够显示更多更详细的TCP连接状态的信息,且比netstat更快更高效。ss命令能够从内核空间直接得到信息,netstat命令读取各种/proc 文件收集信息…

Asp.Net Core 通过中间件防止图片盗链

一、原理 要实现防盗链,我们就必须先理解盗链的实现原理,提到防盗链的实现原理就不得不从HTTP协议说起,在HTTP协议中,有一个表头字段叫referer,采用URL的格式来表示从哪儿链接到当前的网页或文件。换句话说&#xff0c…

Java IO: 并发IO

转载自 Java IO: 并发IO译文链接 作者: Jakob Jenkov 译者: 李璟 有时候你可能需要并发地处理输入和输出。换句话说,你可能有超过一个线程处理输入和产生输出。比如,你有一个程序需要处理磁盘上的大量文件,这个任务可以通过并发操作提高性能…

Ajax基本案例详解之$.ajax的实现

最近在学Ajax&#xff0c;现在来分享一下基本ajax案例&#xff1a; 先来说说$.ajax的情况&#xff1a; 首先我们先来创建个index.jsp&#xff0c;在index.jsp里面我们写一个<script>标签&#xff0c;主要是引用jquery的环境&#xff0c;没有的童鞋可以来这里下载一下。 …

linux软件可以在所有发行版运行吗,Linux通用的跨发行版的3大软件包管理器

前言本文主要介绍Linux系统上通用的跨发行版的3大软件包管理器。Linux系统上的软件包管理可能非常令人困惑&#xff0c;尤其是对于新手&#xff0c;因为不同的Linux发行版使用不同的包管理系统。在大多数情况下&#xff0c;最令人困惑的部分是软件包依赖项的解析和管理。例如&a…

Java IO: 管道

转载自 Java IO: 管道 译文链接 作者: Jakob Jenkov 译者: 李璟(jlee381344197gmail.com) Java IO中的管道为运行在同一个JVM中的两个线程提供了通信的能力。所以管道也可以作为数据源以及目标媒介。 你不能利用管道与不同的JVM中的线程通信(不同的进程)。在概念上&#xf…

springboot yml里面配置list 日期日期格式的postMen 发送json

Value("#{${ipWhiteList.ips}.split(,)}") List<String> ipList; ipWhiteList:ips: 10.0.0.2,127.0.0.1日期个是的postMen 发送json { "multiple": 39, "tenantNo": 39, "endCheckNum": 39, "meterNo&qu…

Ajax基本案例详解之$.get的实现

前面我已经写过一篇ajax的$.ajax的实现了&#xff0c;其中html&#xff0c;css&#xff0c;doindex.jsp里面已经详细列出来了&#xff0c;这篇主要写的是$.get()的实现&#xff0c;其中html&#xff0c;css&#xff0c;doindex.jsp都和Ajax基本案例详解之$.get的实现 里面的…

Java IO: 文件

转载自 Java IO: 文件 译文链接 作者: Jakob Jenkov 译者: 李璟(jlee381344197gmail.com) 在Java应用程序中&#xff0c;文件是一种常用的数据源或者存储数据的媒介。所以这一小节将会对Java中文件的使用做一个简短的概述。这篇文章不会对每一个技术细节都做出解释&#xf…

SpringBoot运行原理初探

运行原理初探 其中它主要是依赖一个父项目&#xff0c;主要是管理项目的资源过滤及插件&#xff01; <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.2.5.RELEASE&…

一款全新的基于IntelliJ和ReSharper的跨平台.NET IDE

JetBrains Rider在今年一月份露面&#xff0c;后来的大部分时间被用在了内部早期预览版上&#xff0c;还没有为公开发布做好准备。而现在&#xff0c;我们可以下载早期预览版&#xff0c;并感受在IntelliJ平台上开发.NET是一种什么体验。早期预览版还存在一些问题&#xff0c;不…

mysql自动插入的时间不对 差8小时

MySQL插入时间差八小时问题的解决方法 更新时间&#xff1a;2019年12月15日 10:19:12 转载 作者&#xff1a;lankeren 这篇文章主要给大家介绍了关于MySQL插入时间差八小时问题的解决方法&#xff0c;文中通过示例代码介绍的非常详细&#xff0c;对大家学习或者使用MySQL具…

Ajax基本案例详解之$.post的实现

Ajax的post实现&#xff1a; 看这篇之前建议大家去看看前面两篇文章&#xff1a; 1.Ajax基本案例详解之$.ajax的实现 2.Ajax基本案例详解之$.get的实现 现在写一下$.post()里面的主要内容&#xff1a; $.post("doindex.jsp","email"$("#emai…

windows为什么把linux打败了,快二十年了,人们为什么还是没有抛弃 Windows 转向 Linux?...

原标题&#xff1a;快二十年了&#xff0c;人们为什么还是没有抛弃 Windows 转向 Linux&#xff1f;自伟大的 Linux 操作系统诞生以来&#xff0c; 许多网友都试图列举出 Linux 可能是更好选择的具体原因 &#xff0c;其中包括&#xff1a;Linux 上的更新速度很快&#xff0c;“…

Java IO 概述

转载自 Java IO 概述 译文链接 作者: Jakob Jenkov 译者: 李璟(jlee381344197gmail.com) 校对&#xff1a;方腾飞 在这一小节&#xff0c;我会试着给出Java IO(java.io)包下所有类的概述。更具体地说&#xff0c;我会根据类的用途对类进行分组。这个分组将会使你在未来的工…