java之java.io.File的相关方法
java.io.File的使用。
IO原理及流的分类。
文件流:FileInputStream、FileOutputStream、FileReader、FileWriter
缓存流:BufferedInputStream、BufferedOutputStream、BufferedReader、BufferedWriter
转换流:InputStreamReader、OuputStreamReader
标准输入/输出流
打印流
数据流
对象流:涉及序列化和反序列化ObjectInputStream、ObjectOutputStream
随机存取文件流:RandomAcessFile
java.io.File类:文件和目录路径名的抽象表示形式,与平台无关。
File能新建、删除、重命名文件和目录,但File不能访问文件内容本身。如果需要访问文件内容本身,则需要使用输入/输出流。
File对象可以作为参数传递给构造函数。
File类常用构造方法:
- public File(String pathname)。以pathname为路径创建File对象,可以是绝对路径,也可以是相对路径,如果pathname是相对路径,则默认的当前路径在系统属性user.dir中存储。
- public File(String parent,String child);。以parent为父路径,child为子路径创建File对象。
- File的静态属性String sperator存储了当前系统的路径分隔符,在Unix中,此字段为"/",在windows中为"\\"。
访问文件名:
- getName()
- getPath()
- getAbsoluFile()
- getAbosoluPath()
- getParent()
- renameTo(File newName)
文件检测:
- exists()
- canWrite()
- canRead()
- isFile()
- isDirectory()
获取常规文件信息:
- lastModify()
- length()
文件操作相关:
- createNewFile()
- delete()
目录操作相关:
- mkDir()
- list()
- listFiles()
package anno;
import java.io.File;
public class Test1 {
    public static void main(String[] args) {
        File f = new File("F:\\test.txt");
        System.out.println(f.getName());
        //获取new File时的路径
        System.out.println(f.getPath());
        //获取文件的绝对路径
        System.out.println(f.getAbsolutePath());
        //用绝对路径包起来的File对象
        System.out.println(f.getAbsoluteFile());
        //当前文件的父级目录
        System.out.println(f.getParent());
        f.renameTo(new File("F:\\test2.txt"));
        File f2 = new File("F:\\test2.txt");
        System.out.println(f2.exists());
        System.out.println(f2.isFile());
        System.out.println(f2.isDirectory());
        //返回的是字节数
        System.out.println(f2.length());
        File f3 = new File("F:\\test3.txt");
        if(!f3.exists()) {
            try {
                //创建文件
                f3.createNewFile();
            }catch(Exception e){
                e.printStackTrace();
            }finally {
                System.out.println("创建完毕");
            }
        }
        //删除文件
        f3.delete();
        File f4 = new File("F:\\test4\\name");
        //f.mkDir();创建单层目录
        //创建多层目录
        if(!f4.exists()) {
            f4.mkdirs();
        }
        File f5 = new File("F:\\test4");
        //返回的是字符串集合,包括文件和目录
        String[] l1 = f5.list();
        for(String l:l1){
            System.out.println(l);
        }
        //返回的是个File集合,包括目录和文件
        File[] l2 = f5.listFiles();
        for(File l:l2){
            System.out.println(l);
        }
    }
}
递归判断某个文件夹下的文件是文件夹还是文件。
package anno;
import java.io.File;
public class Test1 {
    public static void main(String[] args) {
        File f = new File("F:\\test\\");
        obtainFiles(f);
    }
    public static void obtainFiles(File f) {
        if(f.isFile()) {
            System.out.println(f.getAbsolutePath()+"是文件");
        }else {
            System.out.println(f.getAbsolutePath()+"是文件夹");
            File[] fs = f.listFiles();//获取当前目录下的文件夹或文件
            if(fs!=null && fs.length>0) {
                for(File ff:fs) {
                    obtainFiles(ff);
                }
            }
        }
    }
}
输出:
F:\test是文件夹
F:\test\file1是文件夹
F:\test\file2是文件夹
F:\test\file3是文件夹
F:\test\file4是文件夹
F:\test\test1.txt是文件
F:\test\test2.txt是文件
F:\test\test3.txt是文件
F:\test\test4.txt是文件
java之java.io.File的相关方法的更多相关文章
- Java文件与io——File类
		概念: File类:表示文件和目录路径名的抽象表示形式. File类可以实现文件的创建.删除.重命名.得到路径.创建时间等等,是唯一与文件本身有关的操作类. 例: public class FileD ... 
- java.io.NotSerializableException: test.io.file.Student
		java.io.NotSerializableException: test.io.file.Student at java.io.ObjectOutputStream.writeObject0 ... 
- IO:File类(java.io.File)
		public class File extends Object implements Serializable, Comparable<File> 构造方法: public File(S ... 
- java.io.file
		package cn.edu.tongji.cims.wade.system; import java.io.*; public class FileOperate { pub ... 
- java获取指定路径下的指定文件/java.io.File.listFiles(FilenameFilter filter)
		java.io.File.listFiles(FilenameFilter filter) 返回抽象路径名数组,表示在目录中此抽象路径名表示,满足指定过滤器的文件和目录. 声明 以下是java.io. ... 
- 【java  IO   File】统计项目代码总共多少行
		统计项目代码总共有多少行 思想: 1.首先将不需要迭代的文件夹,保存在集合中,不满足的就是需要迭代的文件夹 2.将需要进行统计行数的代码文件保存在集合中,满足的就是需要计算文件行数的文件 3.迭代方法 ... 
- java.io.File类
		java.io.File类 1.凡是与输入.输出相关的类.接口等都定义在java.io包下 2.File是一个类.能够有构造器创建其对象.此对象相应着一个文件(.txt .avi .doc .ppt ... 
- Java学习之IO之File类二
		之前学了File便想把我学习视频的名字改了,因为文件名太长不好看,便试着写了个功能实现 package com.gh.file; import java.io.File; /** * 批量文件命名 * ... 
- Java学习之IO之File类一
		File的操作 package com.gh.file; import java.io.File; import java.io.IOException; /** * File操作 * @author ... 
随机推荐
- udp协议以及socketserver
			udb协议 udb协议也是一种协议,它和tcp相比既有缺点也有优点 udb协议所发送的数据可以理解为自带报头,所以他不会出现粘包的情况.但是udp数据只管发送而不管接收,也就是说udp会出现丢包的情况 ... 
- 基于SpringBoot+Netty实现一个自己的推送服务系统
			目标 实现一个WebSocket服务中心,支持水平扩展 技术栈 SpringBoot.Netty.JDK8.MySQL.Redis.RabbitMQ.MyBatis-Plus 环境搭建 主要功能点说明 ... 
- 实战!轻松搭建图像分类 AI 服务
			人工智能技术(以下称 AI)是人类优秀的发现和创造之一,它代表着至少几十年的未来.在传统的编程中,工程师将自己的想法和业务变成代码,计算机会根据代码设定的逻辑运行.与之不同的是,AI 使计算机有了「属 ... 
- 华为云WeLink:智能工作空间,联接无限想象
			[中国,上海,2019年9月19日] 在HUAWEI CONNECT 2019期间,华为办公应用装备部部长王俊先生代表华为云介绍WeLink--企业专属的智能工作空间.WeLink源于华为数字化办公实 ... 
- mac端口占用
			lsof -i tcp:port 可以查看该端口被什么程序占用,并显示PID port 替换成端口号, eg: lsof -i tcp:8081 kill pid 杀死PID 
- mininet(三)简单的NAT实验
			mininet(一)实验环境搭建 mininet(二)简单的路由实验 mininet(三)简单的NAT实验 本次实验拓扑图如下: 假设 Openvswitch switch1是一个带有NAT功能的路由 ... 
- java之方法的参数传递(值传递和引用传递)
			方法,必须有其所在类或对象调用时才有意义,若方法有参数: 形参:方法声明时的参数: 实参:方法调用时实际传给形参的参数值: java的实参如何传入方法呢? 首先要明确:变量分为两大类:基础数据类型.引 ... 
- cmd 窗口中运行 Java 程序
			1.CMD 命令提示符(Command Processor)(CMD) CMD命令:开始->运行->键入 cmd(在命令行里可以看到系统版本.文件系统版本) 2.对文件夹操作的部分命令 启 ... 
- 《java面试十八式》--引子
			爪哇城中 “喂,你等等我啊”少女气喘吁吁的喊道 “大小姐,你可快点吧,报名马上就要结束了.” 这是爪哇城一年一度的大选比赛,被选上的人会留下来任职,享有名誉和金钱,所以大家都在积极准备. ... 
- 【MobX】391- MobX 入门教程(下)
			点击上方"前端自习课"关注,学习起来~ 三.MobX 常用 API 介绍 3. 修改可观察数据 在上一部分内容中,我们了解到,对可观察的数据做出反应的时候,需要我们手动修改可观察数 ... 
