类File

* File类常用的构造方法:

* (1)File(String s);//由s确定File对象的文件名

* (2)File(String directory,String s);//由directory确定File对象的文件目录,由s确定文件名

* (3)File(File parent,String s);//根据一个父File对象和一个子文件/目录得到File对象

 

import java.io.File;

/*
 * 要实现IO的操作,就必须知道硬盘上文件的表现形式
 * Java就提供了一个File类
 * 
 * File类常用的构造方法:
 * (1)File(String s);//由s确定File对象的文件名
 * (2)File(String directory,String s);//由directory确定File对象的文件目录,由s确定文件名
 * (3)File(File parent,String s);//根据一个父File对象和一个子文件/目录得到File对象
 * */

public class IntegerDemo {
	public static void main(String[] args) {
		File file1 = new File("E:\zikao\cs.txt");// 由s确定File对象的文件名

		File file2 = new File("E:\zikao", "cs.txt");// 由directory确定File对象的文件目录,由s确定文件名

		File file3 = new File("E:\zikao");
		File file4 = new File(file3, "cs.txt");// 根据一个父File对象和一个子文件/目录得到File对象
	}
}

 

* 创建功能:
* public boolean createNewFile();//创建文件
* public boolean mkdir();//创建文件夹
* public boolean mkdirs();//创建文件夹,如果父文件夹不存在,将会创建出来

import java.io.File;
import java.io.IOException;

/*
 * 创建功能:
 * public boolean createNewFile();//创建文件
 * public boolean mkdir();//创建文件夹
 * public boolean mkdirs();//创建文件夹,如果父文件夹不存在,将会创建出来
 * */

public class IntegerDemo {
	public static void main(String[] args) throws IOException {
		File file1 = new File("E:\zikao\file");
		System.out.println("mkdir:" + file1.mkdir());// 创建文件夹

		File file2 = new File("E:\zikao\file\file.txt");
		System.out.println("createNewFile:" + file2.createNewFile());// 创建文件

		File file3 = new File("E:\zikao\fileNo1\fileNo2\file");
		System.out.println("createNewFile:" + file3.mkdirs());// 创建文件夹,如果父文件夹不存在,将会创建出来
	}
}

 

* 删除功能:
* public boolean delete();//创建文件
*
* 注意:
* A:如果创建文件或者文件夹时没有写上盘符路径,那么默认在项目路径
* B:Java的删除不走回收站
* C:要删除一个文件夹,该文件夹不能包含其他文件或者文件夹

import java.io.File;
import java.io.IOException;

/*
 * 删除功能:
 * public boolean delete();//创建文件
 * 
 * 注意:
 * A:如果创建文件或者文件夹时没有写上盘符路径,那么默认在项目路径
 * B:Java的删除不走回收站
 * C:要删除一个文件夹,该文件夹不能包含其他文件或者文件夹
 * */

public class IntegerDemo {
	public static void main(String[] args) throws IOException {
		File file = new File("E:\zikao\file\file.txt");
		System.out.println("mkdir:" + file.delete());
	}
}

 

* 重命名功能:

* public boolean renameTo(File dest);

*
* 如果路径相同,就是重命名
* 如果路径不相同,就是重命名并剪切

import java.io.File;
import java.io.IOException;

/*
 * 重命名功能:
 * public boolean renameTo(File dest);
* * 如果路径相同,就是重命名 * 如果路径不相同,就是重命名并剪切 * */ public class IntegerDemo { public static void main(String[] args) throws IOException { File file = new File("E:\zikao\file\cs.txt"); File newFile = new File("file.txt"); System.out.println("renameTo:" + file.renameTo(newFile)); } }

 

* 判断功能:

* public boolean isDirectory();//判断是否是目录

* public boolean isFile();//判断是否是文件

* public boolean exists();//判断是否存在

* public boolean canRead();//判断是否可读

* public boolean canWrite();//判断是否可写

* public boolean isHidden();//判断是否隐藏

package com.jacky;

import java.io.File;
import java.io.IOException;

/*
 * 判断功能:
 * public boolean isDirectory();//判断是否是目录
 * public boolean isFile();//判断是否是文件
 * public boolean exists();//判断是否存在
 * public boolean canRead();//判断是否可读
 * public boolean canWrite();//判断是否可写
 * public boolean isHidden();//判断是否隐藏
 * */

public class IntegerDemo {
	public static void main(String[] args) throws IOException {
		File file = new File("E:\zikao\file\cs.txt");

		System.out.println("isDirectory:" + file.isDirectory());// 判断是否是目录
		System.out.println("isFile:" + file.isFile());// 判断是否是文件
		System.out.println("exists:" + file.exists());// 判断是否存在
		System.out.println("canRead:" + file.canRead());// 判断是否可读
		System.out.println("canWrite:" + file.canWrite());// 判断是否可写
		System.out.println("isHidden:" + file.isHidden());// 判断是否隐藏
	}
}

 

* 基本获取功能:
* public String getAbsolutePath();//获取绝对路径
* public String getPath();//获取相对路径
* public String getName();//获取名称
* public long length();//获取文件大小,字节数
* public long lastModified();//获取修改时间,毫秒值

import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;

/*
 * 基本获取功能:
 * public String getAbsolutePath();//获取绝对路径
 * public String getPath();//获取相对路径
 * public String getName();//获取名称
 * public long length();//获取文件大小,字节数
 * public long lastModified();//获取修改时间,毫秒值
 * */

public class IntegerDemo {
	public static void main(String[] args) throws IOException {
		File file = new File("E:\zikao\file");

		System.out.println("getAbsolutePath:" + file.getAbsolutePath());// 获取绝对路径
		System.out.println("getPath:" + file.getPath());// 获取相对路径
		System.out.println("getName:" + file.getName());// 获取名称
		System.out.println("length:" + file.length());// 获取文件大小,字节数
		System.out.println("lastModified:" + file.lastModified());// 获取修改时间,毫秒值

		Date d = new Date(file.lastModified());
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		String s = sdf.format(d);
		System.out.println(s);
	}
}

* 高级获取功能:
* public String[] list();//获取指定目录下的所有文件或者文件夹的名称数组
* public File[] listFiles();//获取指定目录下的所有文件或者文件夹的File数组

import java.io.File;
import java.io.IOException;

/*
 * 高级获取功能:
 * public String[] list();//获取指定目录下的所有文件或者文件夹的名称数组
 * public File[] listFiles();//获取指定目录下的所有文件或者文件夹的File数组
 * */

public class IntegerDemo {
	public static void main(String[] args) throws IOException {
		File file = new File("E:\zikao");

		String strArray[] = file.list();// 获取指定目录下的所有文件或者文件夹的名称数组
		for (String s : strArray) {
			System.out.println(s);
		}

		System.out.println("----------");

		File fileArray[] = file.listFiles();// 获取指定目录下的所有文件或者文件夹的File数组
		for (File f : fileArray) {
			System.out.println(f);
		}
	}
}

 

第1种方法:

/*
* 判断E盘目录下是否有后缀名为.jpg的文件,如果有,就输出此文件名称
*
* 分析:
* A:封装E判断目录
*
* B:获取该目录下所有文件或者文件夹的File数组
*
* C:遍历该File数组,得到每一个File对象,然后判断
*
* D:是否是文件
* 是:继续判断是否以.jpg结尾
* 是:就输出该文件名称
* 否:跳过
* 否:跳过
* */

import java.io.File;
import java.io.IOException;

/*
 * 判断E盘目录下是否有后缀名为.jpg的文件,如果有,就输出此文件名称
 * 
 * 分析:
 * A:封装E判断目录
 * 
 * B:获取该目录下所有文件或者文件夹的File数组
 * 
 * C:遍历该File数组,得到每一个File对象,然后判断
 * 
 * D:是否是文件
 * 是:继续判断是否以.jpg结尾
 *   是:就输出该文件名称
 *   否:跳过
 * 否:跳过
 * */

public class IntegerDemo {
	public static void main(String[] args) throws IOException {
		// A:封装E判断目录
		File file = new File("E:\");

		// B:获取该目录下所有文件或者文件夹的File数组
		File fileArray[] = file.listFiles();// 获取指定目录下的所有文件或者文件夹的File数组

		// C:遍历该File数组,得到每一个File对象,然后判断
		for (File f : fileArray) {
			if ((f.isFile()) && (f.getName().endsWith(".jpg"))) {
				System.out.println(f.getName());
			} else {
				continue;
			}
		}
	}
}

第2种方法:

/*
* 判断E盘目录下是否有后缀名为.jpg的文件,如果有,就输出此文件名称
*
* 获取符合条件的文件,并输出
*
* 要想实现这个效果,就必须使用一个接口:文件名称过滤器
* public String[] list(FilenameFilter filter);
* public File[] listFiles(FilenameFilter filter);
* */

import java.io.File;
import java.io.FilenameFilter;

/*
 * 判断E盘目录下是否有后缀名为.jpg的文件,如果有,就输出此文件名称
 * 
 * 获取符合条件的文件,并输出
 * 
 * 要想实现这个效果,就必须使用一个接口:文件名称过滤器
 * public String[] list(FilenameFilter filter);
 * public File[] listFiles(FilenameFilter filter);
 * */

public class IntegerDemo {
	public static void main(String[] args) {
		File file = new File("E:\");

		String strArray[] = file.list(new FilenameFilter() {
			@Override
			public boolean accept(File dir, String name) {
				// TODO Auto-generated method stub
				File file = new File(dir, name);
				boolean flag = file.isFile() && name.endsWith(".jpg");
				return flag;
			}
		});

		for (String s : strArray) {
			System.out.println(s);
		}
	}
}

* 要求:把E:\目录下所有的.jpg结尾的文件的绝对路径输出
*
* 分析:
* A:封装目录
* B:获取该目录下所有的文件或者文件夹的File数组
* C:遍历该File数组,得到每一个File对象
* D:判断该File对象是否是文件夹
* 是:回到B
* 否:继续判断是否是以结尾
* 是:就输出该文件的绝对路径
* 否:跳过

import java.io.File;

/*
 * 要求:把E:\目录下所有的.jpg结尾的文件的绝对路径输出
 * 
 * 分析:
 * A:封装目录
 * B:获取该目录下所有的文件或者文件夹的File数组
 * C:遍历该File数组,得到每一个File对象
 * D:判断该File对象是否是文件夹
 * 是:回到B
 * 否:继续判断是否是以结尾
 *    是:就输出该文件的绝对路径
 *    否:跳过
 * */

public class IntegerDemo {
	public static void main(String[] args) {
		File srcFolder = new File("E:\zikao");

		getAllJpgFilePaths(srcFolder);
	}

	public static void getAllJpgFilePaths(File srcFolder) {
		File fileArray[] = srcFolder.listFiles();

		for (File file : fileArray) {
			if (file.isDirectory()) {
				getAllJpgFilePaths(file);
			} else {
				if (file.getName().endsWith(".jpg")) {
					System.out.println(file.getAbsolutePath());
				}
			}
		}
	}
}

/*
* 要求:递归删除带内容的目录
*
* 分析:
* A:封装目录
* B:获取该目录下所有的文件或者文件夹的File数组
* C:遍历该File数组,得到每一个File对象
* D:判断该File对象是否是文件夹
* 是:回到B
* 否:删除
* */

import java.io.File;

/*
 * 要求:递归删除带内容的目录
 * 
 * 分析:
 * A:封装目录
 * B:获取该目录下所有的文件或者文件夹的File数组
 * C:遍历该File数组,得到每一个File对象
 * D:判断该File对象是否是文件夹
 * 是:回到B
 * 否:删除
 * */

public class IntegerDemo {
	public static void main(String[] args) {
		File srcFolder = new File("E:\zikao");

		deleteFolder(srcFolder);
	}

	public static void deleteFolder(File srcFolder) {
		File fileArray[] = srcFolder.listFiles();

		for (File file : fileArray) {
			if (file.isDirectory()) {
				deleteFolder(file);
			} else {
				System.out.println(file.getName() + "------" + file.delete());
			}
		}

		System.out.println(srcFolder.getName() + "------" + srcFolder.delete());
	}
}

* 计算机如何识别什么时候该把两个字节转换为一个汉字呢?
*
* 在计算机中中文的存储需要两个字节:
* 第一个字节肯定是负数。
* 第二个字节不一定。

import java.io.IOException;
import java.util.Arrays;

/*
 * 计算机如何识别什么时候该把两个字节转换为一个汉字呢?
 * 
 * 在计算机中中文的存储需要两个字节:
 * 第一个字节肯定是负数。
 * 第二个字节不一定。
 * */

public class IntegerDemo {
	public static void main(String[] args) throws IOException {

		String s = "我爱你";

		byte bys[] = s.getBytes();

		System.out.println(Arrays.toString(bys));// [-50, -46, -80, -82, -60, -29]
	}
}
原文地址:https://www.cnblogs.com/denggelin/p/6305473.html