Java基础系列(15)- IO流
2022/1/29 14:06:01
本文主要是介绍Java基础系列(15)- IO流,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
File类的使用
File类的实例化
java.io.File
类:文件和文件目录路径的抽象表示形式,与平台无关- File 能新建、删除、重命名文件和目录,但File 不能访问文件内容本身。如果需要访问文件内容本身,则需要使用输入/输出流。
- 想要在Java程序中表示一个真实存在的文件或目录,那么必须有一个File对象,但是Java程序中的一个File对象,可能没有一个真实存在的文件或目录。
- File对象可以作为参数传递给流的构造器
import org.junit.Test; import java.io.File; /** * File类的使用 * * 1. File类的一个对象,代表一个文件或一个文件目录(俗称:文件夹) * 2. File类声明在java.io包下 * */ public class FileTest { /** * 1.如何创建file类的实例 * File(String filePath):以filePath为路径创建File对象,可以是绝对路径或者相对路径 * File(String parentPath,String childPath):以parentPath为父路径,childPath为子路径创建File对象。 * File(File parentFile,String childPath):根据一个父File对象和子文件路径创建File对象 * 2. * 相对路径:相较于某个路径下,指明的路径。 * 绝对路径:包含盘符在内的文件或文件目录的路径 * * 3.路径分隔符 * windows:\\ * unix:/ * 4.Java程序支持跨平台运行,因此路径分隔符要慎用。 * * 5.为了解决这个隐患,File类提供了一个常量: * public static final String separator。 * 根据操作系统,动态的提供分隔符。 * * File file1= new File("d:\\Work\\info.txt"); * File file2= new File("d:"+ File.separator+ "Work"+ File.separator+ "info.txt"); * File file3= new File("d:/Work"); * */ @Test public void test(){ //构造器1: File file1 = new File("hello.txt");//相对于当前module File file2 = new File("F:\\java\\Work2\\JavaSenior\\day08\\num.txt"); System.out.println(file1); //hello.txt System.out.println(file2); //F:\java\Work2\JavaSenior\day08\num.txt //构造器2: File file3 = new File("D:\\workspace_idea1","JavaSenior"); System.out.println(file3); //D:\workspace_idea1\JavaSenior //构造器3: File file4 = new File(file3,"hi.txt"); System.out.println(file4); //D:\workspace_idea1\JavaSenior\hi.txt } }
File类的常用方法
import org.junit.Test; import java.io.File; import java.util.Date; /** * File类的使用 * * 1. File类的一个对象,代表一个文件或一个文件目录(俗称:文件夹) * 2. File类声明在java.io包下 */ public class FileTest { /** * public String getAbsolutePath():获取绝对路径 * public String getPath() :获取路径 * public String getName() :获取名称 * public String getParent():获取上层文件目录路径。若无,返回null * public long length() :获取文件长度(即:字节数)。不能获取目录的长度。 * public long lastModified() :获取最后一次的修改时间,毫秒值 * * 如下的两个方法适用于文件目录: * public String[] list() :获取指定目录下的所有文件或者文件目录的名称数组 * public File[] listFiles() :获取指定目录下的所有文件或者文件目录的File数组 */ @Test public void test2(){ File file = new File("Hello.txt"); //此路径不存在 File file2 = new File("E:\\code\\java\\first\\day3\\src\\test\\hello1.txt"); //存在一个空文件 System.out.println(file.getAbsolutePath());//E:\code\java\first\day3\Hello.txt System.out.println(file.getPath()); //Hello.txt System.out.println(file.getName()); //Hello.txt System.out.println(file.getParent()); //null System.out.println(file.length()); //0 System.out.println(file.lastModified()); //0 System.out.println(new Date(file.lastModified())); //Thu Jan 01 08:00:00 CST 1970 System.out.println(); System.out.println(file2.getAbsolutePath()); //E:\code\java\first\day3\src\test\hello1.txt System.out.println(file2.getPath()); //E:\code\java\first\day3\src\test\hello1.txt System.out.println(file2.getName()); //hello1.txt System.out.println(file2.getParent()); //E:\code\java\first\day3\src\test System.out.println(file2.length()); //0 System.out.println(file2.lastModified()); //1643424633719 } @Test public void test3(){ //文件需存在!!!,不然 java.lang.NullPointerException File file = new File("E:\\code\\java\\first"); String[] list = file.list(); for(String s : list){ System.out.println(s); } System.out.println(); File[] files = file.listFiles(); for(File f : files){ System.out.println(f); //相当于调用toString方法 } } /** * File类的重命名功能 * * public boolean renameTo(File dest):把文件重命名为指定的文件路径 * 比如:file1.renameTo(file2)为例: * 要想保证返回true,需要file1在硬盘中是存在的,且file2不能在硬盘中存在。 */ @Test public void test4(){ File file1 = new File("hello.txt"); File file2 = new File("D:\\book\\num.txt"); boolean renameTo = file2.renameTo(file1); System.out.println(renameTo); } }
这篇关于Java基础系列(15)- IO流的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-26结对编程到底难不难?答案在这里
- 2024-06-19《2023版Java工程师》课程升级公告
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现
- 2024-06-03为什么以及如何要进行架构设计权衡?
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)