java学习笔记IO之File类
File类总结
File类概述
Java.io.File类
文件和目录路径名的抽象表示形式。
把电脑中的文件和文件夹(目录)封装成了一个File对象,通过File对象中的方法可以操作文件和文件夹;
是一个与系统无关的类,任意的操作系统都可以使用这个类中的方法操作文件和文件夹
3个File类有关的单词:
file:文件
directory:文件夹,目录
path:路径
File类的四个静态变量
static String pathSeparator 与系统有关的路径分隔符;
static char pathSeparatorChar 与系统有关的路径分割符;
路径分割符在unix系统中是“:”,在window系统中是“;”
static String separator 与系统有关的默认名称分隔符。
staitc char separator 与系统有关的默认名称分隔符。
文件分割符在unix系统中是“/”,在window系统中是“\”。
File类的构造方法:
File(String pathname); 通过给定路径字符串转换为抽象路径名来创建一个新的File实例。
String pathname:路径的名称
可以是文件的路径,也可以是一个文件夹的路径
可以是相对路径,也可以是绝对路径
可以是存在的路径,也可以是不存在的。构造方法只是把字符串格式的路径转换为对象,和路径是否存在无关
File(String parent, String child); 根据parent路径名称字符串和child路径名称字符串创建一个新的File对象;把路径分成两部分,父路径和子路径
- 好处:
- 使用起来更加的灵活,子路径和父路径可以传递不同的路径,组成File对象
- 注意:路径是不区分大小写的
File(File parent, String child); 根据parent抽象路径名和child 路径名字符串创建一 个新的File对象
- 好处:
- 父路径使用的File类型, 可以调用File类中的方法操作这个路径
File类的创建和删除功能
boolean createNewFile()创建文件
- 创建的文件的路径和文件名称,在构造方法中给出
- 返回值:boolean
- true:创建成功
- false:文件已经存在,不再创建
- 注意:构造方法中给出的文件路径必须存在,否则会抛出异常
boolean mkdir() 创建单级文件夹
boolean mkdirs()创建多级文件夹
- 只能创建文件夹,不能创建文件
- 返回值:
true:创建成功
false:文件夹已经存在
- 注意:构造方法中给出的文件路径必须存在,否则会抛出异常
boolean delete()删除此抽象路径名表示的文件或目录
- 返回值:
- true:删除成功
- false:文件/文件夹不存在
- 注意:此方法删除不走回收站,直接在硬盘删除
File类的判断方法:
boolean isFile(); 判断是文件吗
boolean isDirectory(); 判断封装的路径是不是文件夹
boolean exists(); 判断File构造方法封装的路径是否存在
File类的获取方法:
File getAbsoluteFile();返回此抽象路径名的绝对路径名形式
String getAbsolutePath();返回抽象路径名的绝对路径名字符串
String getName();获取路径中最后部分的名字
String getPath();获取构造方法中的路径,把路径转换为字符串
String getParent(); 返回String对象
File getParentFile();返回File对象 。获取父路径,返回的是文件末尾的父路径
long length();返回路径中表示的文件路径的字节数,文件夹没有大小
File类的遍历目录的功能
- 1.String[] list();获取目录中的每一个文件/文件夹的名字,并且存到String数组中
- 2.File[] listFiles() 获取目录中的每一个文件/文件夹的File对象,并且存到File数组中
- 注意:
- 构造方法中传递的目录必须存在,否则就会抛出空指针异常
- 构造方法中传递的必须是目录,不能是文件,只能遍历目录,否则就会抛出空指针异常
- 这个方法可以获取隐藏文件或者隐藏文件夹
- static File[] listRoots(); 列出全部的跟目录
递归
递归:
方法自己调用自己;
作用:当调用方法的时候,方法的主体不变,但是每次调用方法的参数改变,就可以使用递归
递归分为两种:直接递归和间接递归
直接递归:方法自己调用自己
间接递归:可以是A调用B,B再调用A
注意:
- 递归一定要有条件限定,保证递归能够停下来,否则发生栈内存溢出
- 在递归中虽然有限定条件,但是递归次数不能太多,否则也会发生栈内存溢出
- 构造方法,禁止递归,编译报错
案例:获取1-5的阶乘
public static void main(String[] args){
getJC(5);
}
public static int getJC(int n ){
if(n==1){
return 1;
}
return n*getJC(n-1);
}
java学习笔记IO之File类的更多相关文章
- Java学习笔记36(File类)
File类可以对操作系统中的文件进行操作: File类的静态成员变量: package demo; import java.io.File; public class FileDemo { publi ...
- java学习笔记27(File类)
File类: 定义:文件和目录径的抽象表示形式, Java中将路径或者文件封装成File对象 1.File类的静态成员变量 package com.zs.Demo2; import java.io.F ...
- Java学习之IO之File类一
File的操作 package com.gh.file; import java.io.File; import java.io.IOException; /** * File操作 * @author ...
- Java学习之IO之File类二
之前学了File便想把我学习视频的名字改了,因为文件名太长不好看,便试着写了个功能实现 package com.gh.file; import java.io.File; /** * 批量文件命名 * ...
- java学习笔记07--日期操作类
java学习笔记07--日期操作类 一.Date类 在java.util包中定义了Date类,Date类本身使用非常简单,直接输出其实例化对象即可. public class T { public ...
- java学习笔记之日期日历类
java学习笔记之日期日历 Date日期类概述: 表示特定的瞬间,精确到毫秒 Date类的构造方法: 1.空参数构造方法 Date date = new Date(); 获取到当前操作系统中的时间和日 ...
- Android(java)学习笔记87:File类使用
package cn.itcast_01; import java.io.File; /* * 我们要想实现IO的操作,就必须知道硬盘上文件的表现形式. * 而Java就提供了一个类File供我们使用 ...
- Android(java)学习笔记26:File类的使用
1. File类的使用 package cn.itcast_01; import java.io.File; /* * 我们要想实现IO的操作,就必须知道硬盘上文件的表现形式. * 而Java就提供 ...
- Java 学习笔记 IO流与File操作
可能你只想简单的使用,暂时不想了解太多的知识,那么请看这里,了解一下如何读文件,写文件 读文件示例代码 File file = new File("D:\\test\\t.txt" ...
随机推荐
- BootStrap Table使用小结
1.在当前表格的最后新增数据 $("#data_module_table").bootstrapTable('append', data.data);//data.data---- ...
- Linux下打造全方位立体监控系统
前言 本文主要介绍如何使用Grafana和Prometheus以及node_exporter对Linux服务器性能进行监控.下面两张图分别是两台服务器: 服务器A 服务器B 概述 Prometheus ...
- ldap数据库--ODSEE--复制协议
简单介绍一下ODSEE的复制拓扑的建立,复制协议可以通过管理界面进行创建,也可以通过命令行创建.在此之前需要了解一些复制协议的相关概念,这里针对OESEE. 1,复制角色 master(提供者,也可以 ...
- 40个Java多线程问题
1.多线程有什么用? 一个可能在很多人看来很扯淡的一个问题:我会用多线程就好了,还管它有什么用?在我看来,这个回答更扯淡.所谓”知其然知其所以然”,”会用”只是”知其然”,”为什么用”才是”知其所以然 ...
- 【python】内置函数总结(一)
1.判断真假的函数:bool()2.Python中所谓的迭代协议就是next方法的对象会前进到下一个结果,在一系列结果的末尾会引发StopIteration异常.在Python中,任何类型的对象都被认 ...
- WPF字符串中的换行符
<sys:String x:Key="NewUpdateWillShow" xml:space="preserve">第一行 第二行 </sy ...
- 【Java框架型项目从入门到装逼】第三节 - 如何用Tomcat发布web项目?
啥叫Tomcat?有道词典是这么说的. 这个我们姑且不管,实际上呢,Tomcat是一种Web服务器,我们自己做好了一个Web项目,就可以通过Tomcat来发布.服务器呢,又分为硬件服务器和软件服务器. ...
- 2)C语言的基本知识(C自考学习)
字符集 在C语言程序中允许出现的所有基本字符的组合称为C语言的字符集.C语言的字符集就是ASCII字符集.主要包含一下几类: 1)大小写英文字母A~Z,a~z(52个) 2)数字0-9(10个) 3) ...
- Lua脚本在C++下的舞步
我是一名C++程序员,所以在很多时候,不想过多的使用Lua的特性,因为个人感觉,Lua的语法要比C++的更加灵活.而我更希望,在函数调用的某些习惯上,遵循一些C++的规则.好了,废话少说,我们先来看一 ...
- centos7下部署Django(nginx+uwsgi+python3+django)
系统版本 centos7 python版本 使用官方python3.6.3正式版 django版本 使用本文发布时最新的1.11.7 uwsgi版本 使用本文发布时最新的2.0.15 nginx版本 ...