黑马程序员——关于javaI/O系统中File类的总结

原创 2015年07月08日 16:36:09
------- android培训java培训、期待与您交流! ----------

1.关于File类

File类是java中用于封装路径和文件的类,是文件和目录路径名的抽象表现形式。之前的字符流和字节流能将文件内容进行复制等操作,但是不能操作文件夹,引出File类来可以很方便的操作文件和文件夹。

2.File类构造方法概述

要了解File类,先了解其常用的构造方法:
方法一:      
       File file=new File("a.txt");
	a.txt封装成File对象。可以将已有的和未出现的文件或者文件夹封装成对象。
	注意:该File类不一定是创建的文件也有可能是文件夹
 方法二:
       File file2=new File("c:\\abc","b.txt");
        将文件所在目录路径和文件一起传入,指定文件路径。该方法将路径和文件确定,关联性强。
 方法三:
            File d=new File("c:\\abc");
            File f3=new File(d,"c.txt");
        将文件目录路径封装成对象。再创建文件对象。降低了文件于父目录的关联性。
补充知识:
        File.separator表示目录分隔符,可以跨平台使用。相当于路径中的“\”(双斜杠\\windows中表示表示转义后的分隔符,但是在linux系统中就不是)。在我们编写程序过程中,常使用“\\”分隔符。

3.File类常用方法

	boolean createNewFile();//在指定位置创建文件,如果该文件已经存在,则不创建,返回false。和输出流不一样,输出流对象一建立就创建文件。而且文件已经存在,会覆盖。boolean mkdir();//创建文件夹,只能创建一级文件夹
 	boolean delete();//删除文件或目录。文件存在,返回true;文件不存在或者正在被执行,返回false, void deleteOnExit();//在程序退出时删除指定文件
	boolean exists();//文件是否存在,boolean isFile();//是否是文件,boolean isDirectory();//是否是文件夹,boolean isAbsolute();//文件是否是绝对路径
	String getName();//获取文件名,String getPath();String getAbsolutePath();//获取文件的绝对路径

4.File类的应用示例

示例一:
/*
需求:将一个目录下所有的java文件路径复制到一个文件内
思路:
	1.将目的路径中的java文件取出,将File对象存入List
	2.判断是否是Java文件,看文件名结尾是否是.java
	3.创建流对象用于将文件名存入到指定文件。
*/
import java.io.*;
import java.util.*;

class FileTest1
{
public static void main(String[] args)throws IOException
{
	File ff=new File("F:\\Java13");//创建File类,关联该路径文件夹
	List<File> file=new ArrayList<File>();//创建List用于存放文件夹内的java文件封装的File对象
	FileJih(ff,file);//调用方法,将java文件存入list中
	toWrite(file,"javalistname.txt");
}
public static void FileJih(File dir,List<File> al)
{
	File[] fils=dir.listFiles();
	for(File f:fils)
	{
		if(f.isDirectory())
			FileJih(f,al);//递归调用,找到该目录下所有java文件
		else
			{
				if((f.getName()).endsWith(".java"))//判断是否为java结尾的文件
				al.add(f);//将java文件的File加入到list中
			}
	}

}
public static void toWrite(List<File> t,String name)throws IOException
{
	BufferedWriter bw=new BufferedWriter(new FileWriter(name));
	for(File f:t)
	{
		bw.write(f.getAbsolutePath());//将java文件名存入文件内
		bw.newLine();//换行
		bw.flush();//刷新要注意
	}	
	bw.close();
}
}
运行结果:
	实现了功能,将java文件名存入到指定的txt文件,但是没有分级显示,示例二可以实现该功能
示例二:
import java.io.*;
class FileTest2
{
public static void main(String[] args)
{
	File div=new File("F:\\xuexi");
	showFile(div,1);
}
public static String getlevel(int level)
{
	StringBuilder sb=new StringBuilder();
	for(int x=0;x<level;x++)
	{
		sb.append("|--");
	}
	return sb.toString();
}
public static void showFile(File dir,int level)
{
	System.out.println(getlevel(level)+dir);
	level++;
	File[] files=dir.listFiles();
	for(int x=0;x<files.length;x++)
	{
		if(files[x].isDirectory())
			showFile(files[x],level);
		else
			System.out.println(getlevel(level)+files[x]);

	}

}
}
总结:

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

黑马程序员--javaI/O输入与输出

---------------------- android培训、java培训 、期待与您交流! ----------------------   在我们的程序中经常会用到输入和输出。比如我们...

黑马程序员_Java_I/O流学习——File对象

-------android培训、java培训、期待与您交流! ----------   java I/O流体系中有一个重要而又特殊的对象:File。他是用来将文件或者文件夹封装对象的。方便对...

黑马程序员-Java I/O流(二)-File类、Properties类、打印流、序列流(合并流)

——Java培训、Android培训、iOS培训、.Net培训、期待与您交流!—— 一、File类 概述 是将文件和文件夹封装成的对象,方便对文件或者文件夹的属性信息进行操作。File类的实例是不可...

黑马程序员——File类

——- android培训、java培训、期待与您交流! ———-File类定义:文件和目录路径名的抽象表示形式。此类的实例可能表示(也可能不表示)实际文件系统对象,如文件或目录。如果它表示这种对象,...

黑马程序员——JAVA基础之File类,递归,打印流,合并切割流

------- android培训、java培训、期待与您交流! ----------     File类          用来将文件或者文件夹封装成对象  ...

黑马程序员——07File类,文件过滤器FilenameFilter以及递归

------- android培训、java培训、期待与您交流! ----------  ------- android培训、java培训、期待与您交流! ----------

黑马程序员——File类的概述

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- File类的概述和构造方法 File类是什么?有什么用哪? 在windows系统上,我们所说的F...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)