黑马程序员——IO流(File对象)

深入解析Java与Android开发技术
本文详细介绍了Java和Android开发中的关键概念和技术,包括文件操作、类的使用、异常处理以及开发工具的运用,旨在为开发者提供全面的技术指南。

-----------android培训java培训、java学习型技术博客、期待与您交流!------------

File类:

将文件或者文件夹封装成对象。操作文件与文件夹的属性信息。

File类的常见方法:

1、创建。

boolean createNewFile();

boolean mkdir():创建文件夹。

Boolean mkdirs():创建多级文件夹。

2、删除。

boolean delete();删除失败返回false。

void deleteOnExit();在程序退出时删除指定文件。

isFile();

isDirectory();

isHidden();

3、判断。

boolean exists():文件是否存在。

Boolean isDirectory():是否是目录。

Boolean isFile():是否是文件。

4、获取信息。

getName();

getPath();封装的什么路径就是什么路径。

getParent();该方法返回的是绝对路径中的父目录。

getAbsolutePath();获取绝对路径。

lastModified();

String[] list();

Static File[] listRoots();

String[] list(FilenameFilter filter);筛选指定文件。

FilenameFilter接口:只有一个方法,Boolean accept(File dir , String name);

list方法根据accept方法返回的真假来判断是否列出这个文件。

public boolean accept(File dir , String name)

{

return name.endsWith(".bmp");

}


import java.io.File;


/*
 	列出指定目录下文件或者文件夹,包含子目录中的内容。
 */


public class ListDemo 
{
	public static void main(String[] args) 
	{
		File f = new File("D:"+File.separator+"Java"+File.separator
						+"workplace_Test");
		showfile(f);
	}
	public static void  showfile(File f)
	{
		for(File f1 : f.listFiles())
		{
			if(f1.isDirectory())
				showfile(f1);
			else
				System.out.println(f1.getName());
		}
	}
	

}
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;

/*
 	读取一个目录下的指定文件,并将这些文件名存在一个文本文件中。
 */
public class ReadFile {

	public static void main(String[] args) 
	{
		File f = new File("D:"+File.separator+"java141114");
		ArrayList<String> arr = new ArrayList<String>();
		listdir(f , arr);
		System.out.println(arr.size());
		WriteFilename("text.txt" ,arr);
		
	}
	public static void listdir(File f , ArrayList<String> arr)
	{
		for(File f1 : f.listFiles())
		{
			if(f1.isDirectory())
				listdir(f1,arr);
			else if(f1.getName().endsWith(".java"))
				arr.add(f1.getAbsolutePath());
			else
				continue;
		}
	}
	public static void WriteFilename(String str ,ArrayList<String> arr)
	{
		BufferedWriter bw = null;
		try {
			bw = new BufferedWriter(new FileWriter(str));
			for(String filepath:arr)
			{
				bw.write(filepath);
				bw.newLine();
			}
		} catch (IOException e) {
			// TODO 自动生成的 catch 块
			e.printStackTrace();
		}
		finally
		{
			try {
				if(!bw.equals(null))
				bw.close();
			} catch (IOException e) {
				// TODO 自动生成的 catch 块
				e.printStackTrace();
			}
		}
	}
}

----------- android 培训 java培训 、java学习型技术博客、期待与您交流!------------



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值