Java IO之操作文件的类--file
2014-05-10 10:50
489 查看
File类的对象主要用来获取文件本身的一些信息,如文件所在的目录、文件长度、文件读写权限等,不涉及对文件的读写操作。
一、File类的构造方法有:
File(String filename); //filename为文件名,该文件与当前应用程序在同一目录中
File(String directoryPath,String filename); //directoryPath是文件路径
File(file f,String filename); //f是指定成目录的一个文件
二、文件属性
1.public String getName(); //获取文件的名字
2.public boolean canRead(); //判断文件是否可读
3.public boolean canWrite(); //判断文件是否可写
4.public boolean exits(); //判断文件是否存在
5.public ling length(); //获取文件长度
6.public String getAbsolutePath(); //获取文件的绝对路径
7.public String getParent(); //获取文件的父目录
8.public boolean isFile(); //判断文件是否是一个正常文件而不是目录
9.public boolean isDirectory(); //判断文件是否一个目录
10.public boolean isHidden(); //判断文件是否隐藏文件
11.public logn lastModified(); //文件最后修改的时间(从1990年午夜至文件最后修改时刻的毫秒数)
三、目录
1.创建目录
public boolean mkdir(); //创建目录
2.列出目录中的文件
如果File对象是一个目录,那么该对象可以调用下述方法列出该目录下的文件和子目录:
public String[] list(); //用字符串形式返回
public File[] listFiles(); //用File对象形式返回
列出指定类型的文件:
public String[] list(FilenameFilter obj); //字符串形式目录下指定类型的所有文件
public File[] listFiles(FilenameFilter obj); //用File对象形式返回目录下指定类型的所有文件
其中,FilenameFilter是一个接口,该接口有一个方法:
public boolean accept(File dir,String name); //当向list方法传递一个实现该接口的对象时,dir调用list方法在列出文件时,将调用accept方法检查该文件name是否符合accept方法指定的目录和文件名字要求。
在Java中,Everything is Object!所以在文件中,要不例外!
在Java中,可以用File类来表示一个文件!!!(注意这里的文件可以是所有文件,包括文件夹)
下面的代码表示一个文件:
public class Demo {
public static void main(String[] args){
File f = new File("e:\\file");
if(f.isDirectory()){
System.out.println(f.getPath());
}
}
}
运行结果是:
代码中isDirectory()方法是判断文件是文件夹还是一个文件(这里可能有点迷糊),也可以这么理解,我所说的文件夹就是一个目录,
getPath()方法是打印文件(这里指的是file文件夹)的路径!!!
看看下面的代码还有注释:
/**
*
* File.speparator的作用是判断在不同的系统中斜杠的方向
*
* 在windows中斜杠的方向是向右斜的\\
* 在Linux 中斜杠的方向是向左斜的//
*
*
* File中createNewFile方法:
* 当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件。
* 检查文件是否存在,若不存在则创建该文件,这是单个操作,对于其他所有可能影响该文件的文件系统活动来说,该操作是不可分的。
*
* 注:此方法不应该 用于文件锁定,因为所得协议可能无法可靠地工作。应该使用 FileLock 机制替代。
*
*
*/
import java.io.File;
public class Demo01 {
public static void main(String[] args) throws Exception{
File f;
f = new File("e:" + File.separator + "file" + File.separator + "io.txt");
System.out.println(f.createNewFile());
}
}
===================================
运行结果是:
大家注意,如果你的直接复制这些代码的话,可能会出现以下异常
看看大家都明白了吧! 系统找不到指定的文件,就是在e盘下新建一个file文件夹就可以啦!!!
下面代码详细的介绍了File类中的createNewFile()方法:
/**
*
* File中createNewFile方法:
* 当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件。
* 检查文件是否存在,若不存在则创建该文件,这是单个操作,对于其他所有可能影响该文件的文件系统活动来说,该操作是不可分的。
*
* 注:此方法不应该 用于文件锁定,因为所得协议可能无法可靠地工作。应该使用 FileLock 机制替代。
* 返回:是布尔型
*
*/
import java.io.File;
public class Demo02 {
public static void main(String[] args) throws Exception{
File f = new File("f:\\demo.txt");
System.out.println(f.createNewFile());
}
}
运行结果如下:
下面介绍一下File类中delete()方法,代码如下:
/**
*
* 要操作一个文件,必须要找到这个文件
* 在Java中,只有File类能表示一个文件,所有用File表示一个文件
* File的属性就是文件的路径,虚拟机会根据File类的参数找到指定的文件
* 找到问及那后可以用File类的方法进行操作!
*
* delete()方法可以删除一个文件或者一个整个文件夹(整个目录),返回结果是布尔类型!!
*
* */
import java.io.File;
public class Demo11 {
public static void main(String[] args) {
File f = new File("f:\\demo.txt");
f.delete();
if(boo){
System.out.println("成功删除文件");
}
}
}
这个程序运行的结果:
下面的代码是介绍查看一个文件的目录,以及判断这个文件是否是文件夹,代码如下:
/**
*
* File的一个方法File.getPath()
* 是将此抽象路径名转换为一个路径名字符串。
*
* File的exists方法
* 是测试此抽象路径名表示的文件或目录是否存在。
*
*
* File的getParent()方法
* 是返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回 null
*
* */
import java.io.File;
public class Demo21 {
public static void main(String[] args) {
File f = new File("f:" + File.separator + "demo.txt");
System.out.println(f.getPath());
System.out.println(f.getParent());
if(f.exists()){
f.delete();
}
else{
try{
System.out.println(f.createNewFile());
}catch(Exception e){}
}
}
}
运行结果:
再看一个判断目录的方法:
/**
*
* File的一个方法File.getPath()
* 是将此抽象路径名转换为一个路径名字符串。
*
* File的isDirectory()的方法
* 是测试此抽象路径名表示的文件是否是一个目录。
* 当且仅当此抽象路径名表示的文件存在且 是一个目录时,返回 true;否则返回 false。
*
*
* */
import java.io.File;
public class Demo51 {
public static void main(String[] args){
File f = new File("f:" + File.separator + "aa");
System.out.println(f.getPath());
System.out.println(f.isDirectory());
}
}
运行结果:
注意下一个代码,可能对你很有帮助啊!!
/**
*
* File的list()方法可以:
* 返回一个字符串数组,
* 这些字符串指定此抽象路径名表示的目录中的文件和目录。
*
* */
import java.io.File;
public class Demo61 {
public static void main(String[] args) {
File f = new File("f:\\book");
//使用list列出
//列出的只是一个名称
String[] str = f.list();
for(int i=0;i<str.length;i++){
System.out.println(str[i]);
}
}
}
这个程序的运行结果是你目录下的文件:
下面的程序 你可能会很感兴趣!因为你想玩HK,或者你想给别人整个恶作剧,你必须要扫描下他的电脑,以下方法就实现了怎样去扫描一个电脑里的所有文件(我的代码选择的是扫描C盘下的所有文件,如果你想扫描其他盘,只要把文件改一下就OK啦)
import java.io.File;
public class Demo81 {
public static void main(String[] args) {
String str = "C:\\";
File f = new File(str);
fun(f);
}
//要不断列出,因为给出的File类对象可能是一个目录
public static void fun(File f){
//判断给定的路径是否是目录,如果是目录在列出
if(f.isDirectory()){
File[] file = f.listFiles();
//再依次循环进行判断
try{
for(int i = 0;i < file.length;i++){
//继续把内容传入到fun方法之中进行验证
fun(file[i]);
}
}catch(Exception e){}
}
else{
System.out.println(f);
}
}
一、File类的构造方法有:
File(String filename); //filename为文件名,该文件与当前应用程序在同一目录中
File(String directoryPath,String filename); //directoryPath是文件路径
File(file f,String filename); //f是指定成目录的一个文件
二、文件属性
1.public String getName(); //获取文件的名字
2.public boolean canRead(); //判断文件是否可读
3.public boolean canWrite(); //判断文件是否可写
4.public boolean exits(); //判断文件是否存在
5.public ling length(); //获取文件长度
6.public String getAbsolutePath(); //获取文件的绝对路径
7.public String getParent(); //获取文件的父目录
8.public boolean isFile(); //判断文件是否是一个正常文件而不是目录
9.public boolean isDirectory(); //判断文件是否一个目录
10.public boolean isHidden(); //判断文件是否隐藏文件
11.public logn lastModified(); //文件最后修改的时间(从1990年午夜至文件最后修改时刻的毫秒数)
三、目录
1.创建目录
public boolean mkdir(); //创建目录
2.列出目录中的文件
如果File对象是一个目录,那么该对象可以调用下述方法列出该目录下的文件和子目录:
public String[] list(); //用字符串形式返回
public File[] listFiles(); //用File对象形式返回
列出指定类型的文件:
public String[] list(FilenameFilter obj); //字符串形式目录下指定类型的所有文件
public File[] listFiles(FilenameFilter obj); //用File对象形式返回目录下指定类型的所有文件
其中,FilenameFilter是一个接口,该接口有一个方法:
public boolean accept(File dir,String name); //当向list方法传递一个实现该接口的对象时,dir调用list方法在列出文件时,将调用accept方法检查该文件name是否符合accept方法指定的目录和文件名字要求。
在Java中,Everything is Object!所以在文件中,要不例外!
在Java中,可以用File类来表示一个文件!!!(注意这里的文件可以是所有文件,包括文件夹)
下面的代码表示一个文件:
public class Demo {
public static void main(String[] args){
File f = new File("e:\\file");
if(f.isDirectory()){
System.out.println(f.getPath());
}
}
}
运行结果是:
代码中isDirectory()方法是判断文件是文件夹还是一个文件(这里可能有点迷糊),也可以这么理解,我所说的文件夹就是一个目录,
getPath()方法是打印文件(这里指的是file文件夹)的路径!!!
看看下面的代码还有注释:
/**
*
* File.speparator的作用是判断在不同的系统中斜杠的方向
*
* 在windows中斜杠的方向是向右斜的\\
* 在Linux 中斜杠的方向是向左斜的//
*
*
* File中createNewFile方法:
* 当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件。
* 检查文件是否存在,若不存在则创建该文件,这是单个操作,对于其他所有可能影响该文件的文件系统活动来说,该操作是不可分的。
*
* 注:此方法不应该 用于文件锁定,因为所得协议可能无法可靠地工作。应该使用 FileLock 机制替代。
*
*
*/
import java.io.File;
public class Demo01 {
public static void main(String[] args) throws Exception{
File f;
f = new File("e:" + File.separator + "file" + File.separator + "io.txt");
System.out.println(f.createNewFile());
}
}
===================================
运行结果是:
大家注意,如果你的直接复制这些代码的话,可能会出现以下异常
看看大家都明白了吧! 系统找不到指定的文件,就是在e盘下新建一个file文件夹就可以啦!!!
下面代码详细的介绍了File类中的createNewFile()方法:
/**
*
* File中createNewFile方法:
* 当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件。
* 检查文件是否存在,若不存在则创建该文件,这是单个操作,对于其他所有可能影响该文件的文件系统活动来说,该操作是不可分的。
*
* 注:此方法不应该 用于文件锁定,因为所得协议可能无法可靠地工作。应该使用 FileLock 机制替代。
* 返回:是布尔型
*
*/
import java.io.File;
public class Demo02 {
public static void main(String[] args) throws Exception{
File f = new File("f:\\demo.txt");
System.out.println(f.createNewFile());
}
}
运行结果如下:
下面介绍一下File类中delete()方法,代码如下:
/**
*
* 要操作一个文件,必须要找到这个文件
* 在Java中,只有File类能表示一个文件,所有用File表示一个文件
* File的属性就是文件的路径,虚拟机会根据File类的参数找到指定的文件
* 找到问及那后可以用File类的方法进行操作!
*
* delete()方法可以删除一个文件或者一个整个文件夹(整个目录),返回结果是布尔类型!!
*
* */
import java.io.File;
public class Demo11 {
public static void main(String[] args) {
File f = new File("f:\\demo.txt");
f.delete();
if(boo){
System.out.println("成功删除文件");
}
}
}
这个程序运行的结果:
下面的代码是介绍查看一个文件的目录,以及判断这个文件是否是文件夹,代码如下:
/**
*
* File的一个方法File.getPath()
* 是将此抽象路径名转换为一个路径名字符串。
*
* File的exists方法
* 是测试此抽象路径名表示的文件或目录是否存在。
*
*
* File的getParent()方法
* 是返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回 null
*
* */
import java.io.File;
public class Demo21 {
public static void main(String[] args) {
File f = new File("f:" + File.separator + "demo.txt");
System.out.println(f.getPath());
System.out.println(f.getParent());
if(f.exists()){
f.delete();
}
else{
try{
System.out.println(f.createNewFile());
}catch(Exception e){}
}
}
}
运行结果:
再看一个判断目录的方法:
/**
*
* File的一个方法File.getPath()
* 是将此抽象路径名转换为一个路径名字符串。
*
* File的isDirectory()的方法
* 是测试此抽象路径名表示的文件是否是一个目录。
* 当且仅当此抽象路径名表示的文件存在且 是一个目录时,返回 true;否则返回 false。
*
*
* */
import java.io.File;
public class Demo51 {
public static void main(String[] args){
File f = new File("f:" + File.separator + "aa");
System.out.println(f.getPath());
System.out.println(f.isDirectory());
}
}
运行结果:
注意下一个代码,可能对你很有帮助啊!!
/**
*
* File的list()方法可以:
* 返回一个字符串数组,
* 这些字符串指定此抽象路径名表示的目录中的文件和目录。
*
* */
import java.io.File;
public class Demo61 {
public static void main(String[] args) {
File f = new File("f:\\book");
//使用list列出
//列出的只是一个名称
String[] str = f.list();
for(int i=0;i<str.length;i++){
System.out.println(str[i]);
}
}
}
这个程序的运行结果是你目录下的文件:
下面的程序 你可能会很感兴趣!因为你想玩HK,或者你想给别人整个恶作剧,你必须要扫描下他的电脑,以下方法就实现了怎样去扫描一个电脑里的所有文件(我的代码选择的是扫描C盘下的所有文件,如果你想扫描其他盘,只要把文件改一下就OK啦)
import java.io.File;
public class Demo81 {
public static void main(String[] args) {
String str = "C:\\";
File f = new File(str);
fun(f);
}
//要不断列出,因为给出的File类对象可能是一个目录
public static void fun(File f){
//判断给定的路径是否是目录,如果是目录在列出
if(f.isDirectory()){
File[] file = f.listFiles();
//再依次循环进行判断
try{
for(int i = 0;i < file.length;i++){
//继续把内容传入到fun方法之中进行验证
fun(file[i]);
}
}catch(Exception e){}
}
else{
System.out.println(f);
}
}
相关文章推荐
- java.io常见流/java.io.file文件操作大全
- java.io.file 各种文件操作
- java.io.file 的常用文件操作
- 文件操作---java.io.File
- java.io.File类各种文件操作
- Java IO 之 RandomAccessFile 操作文件内容
- java.io.File类各种文件操作
- java.io.File文件操作容易失误的两点--mkdirs()、删除目录
- java IO操作与字节流(一)File创建,与文件的查找
- java-IO操作——使用FileWriter和FileReader来操作文件
- java.io.File操作文件的一些常用方法
- Java IO操作——文件操作类File的使用
- Java文件IO操作应该抛弃File拥抱Paths和Files
- Java文件IO操作应该抛弃File拥抱Paths和Files
- JavaIO 文件递归遍历及常用File类操作
- java.io.file 各种文件操作
- java.io.file 各种文件操作
- java io file文件写入到sd卡操作
- Java IO操作——简单了解RandomAccessFile随机读写文件操作类的使用
- java学习笔记(九):Java 流(Stream)、文件(File)和IO