Java IO系列(一):File类详解编程语言
2023-06-13 09:20:22 时间
File类是一切IO之基础,要想学好IO,File类是一定要学好的,API一定要滚瓜烂熟得调用。接下来,将以项目实战中的经验来进行API的操作,这样会让各API的串联度更高。(为了更清晰得理解使用,所有的Exception将throw,不在代码列出)
一:常规创建文件在路径“F:/io/hello.txt”创建名为hello的txt文件。
File file = new File("F:" + File.separator + "io" + File.separator + "hello.txt"); if(file.exists()){ file.delete(); file.createNewFile();
在项目中,createNewFile一般会与exists和delete结合使用,当文件中存在此文件,先删除文件,再创建文件。
二:创建目录mkdir和mkdirs的区别mkdir只能够创建一级目录,不能创建多级目录,而mkdirs能够创建多级目录。
String s = File.separator; File dir = new File("F:" + s + "io" + s + "io1"); System.out.println(dir.mkdir()); System.out.println(dir.mkdirs());
结果为:
false true三:列出给定目录的文件清单
API有两个:
以字符串数组的形式返回:public String[] list()
以File数组的形式返回:public File[] listFiles()
假设目录“F:/io”下有a.txt,b.txt,c.txt三个文件
File dir = new File("F:" + File.separator + "io"); //数组形式返回 String[] files = dir.list(); for (String file : files) { System.out.println(file); System.out.println(); //以File[]形式返回 File[] files2 = dir.listFiles(); for (File file : files2) { System.out.println(file.getName()); }
结果为:
a.txt b.txt c.txt a.txt b.txt c.txt四:getPath,getAbsolutePath和getCanonicalPath的区别
getPath()返回的是构造方法里的路径,不做任何处理
getAbsolutePath()返回的是 user.dir+getPath(),也就是执行路径加上构造方法中的路径
getCanonicalPath()返回的是将符号完全解析的路径,也就是全路径
System.out.println("------默认相对路径,取得路径不同-----"); File f = new File("..//src//file"); System.out.println(f.getPath()); System.out.println(f.getAbsolutePath()); System.out.println(f.getCanonicalPath()); System.out.println("------默认相对路径,取得路径不同-----"); File f2 = new File(".//src//file"); System.out.println(f2.getPath()); System.out.println(f2.getAbsolutePath()); System.out.println(f2.getCanonicalPath()); System.out.println("------默认绝对路径,取得路径相同-----"); File f3 = new File("F://io//a.txt"); System.out.println(f3.getPath()); System.out.println(f3.getAbsolutePath()); System.out.println(f3.getCanonicalPath());
结果为:
------默认相对路径,取得路径不同----- ../src/file E:/JavaWorkSpace/TestIO/../src/file E:/JavaWorkSpace/src/file ------默认相对路径,取得路径不同----- ./src/file E:/JavaWorkSpace/TestIO/./src/file E:/JavaWorkSpace/TestIO/src/file ------默认绝对路径,取得路径相同----- F:/io/a.txt F:/io/a.txt F:/io/a.txt综上所述,常见File的疑难杂点大概就是这些,更多API参考文档。
7815.html
cjava相关文章
- java h2数据库_JAVA 项目中使用 H2 数据库
- java反转数组_Java实现数组反转翻转的方法实例
- import java.io 是什么意思_Java IO 详解
- java用正则表达式大全_Java 正则表达式 大全「建议收藏」
- java 文件上传到服务器_Java上传文件到服务器端的方法「建议收藏」
- java webservice接口开发教程_JAVA入门教程
- JAVA读取csv文件_java读取csv文件某一列
- 【JAVA】Java 日志打印规范
- Java Activiti6.0 spring5 SSM 工作流引擎 审批流程 java项目框架详解编程语言
- java压缩与解压(Java.util.zip)详解编程语言
- java 使用 Common IO 包的 FileUtils 将文件大小转成适合阅读的格式详解编程语言
- Java IO流学习详解编程语言
- Java学习笔记之九java二维数组及其多维数组的内存应用拓展延伸详解编程语言
- Java学习笔记之五java数组详解编程语言
- Java学习笔记之三java中的变量和常量详解编程语言
- Java学习笔记之二java标识符命名规范详解编程语言
- Java IO流详解编程语言
- Java语言中的IO系统详解编程语言
- Java IO详解(二)——流的分类编程语言
- Java程序员必备知识,《JAVA编程思想》包和访问权限详解编程语言
- Linux查看磁盘IO:简单步骤就能实现(linux查看磁盘io)
- Java IO(四):字符流详解编程语言
- Java IO(五):字符流进阶及BufferedWriter、BufferedReader详解编程语言
- Java问题-java进程占用内存过高,排查原因详解编程语言
- Linux下快速编写高效的Java代码(linux写java)
- Java编程实现MySQL表备份(java备份mysql表)
- Java Redis实例学习与应用(java redis实例)
- 使用Java类连接MSSQL数据库(mssql连接java类)
- 使用Java语言写Redis实现一个分布式缓存系统(用java写个redis)
- JSP上传图片产生java.io.IOException:Streamclosed异常解决方法