1、FIle file = new File("e:\\demo\\a.txt");
2、File file = new File("e:\\demo","a,txt");
3、FIle file = new File("e:\\demo");
FIle file2 = new File(file,"a.txt");
File类获取功能
public String[] list(); //返回指定目录下所有文件及文件夹的名称
public File[] listFiles(); //返回指定目录下所有文件(夹)的File数组
输出指定目录下,指定后缀名文件指定后缀名为 “.jpg”
package io;
import java.io.File;
import java.text.StringCharacterIterator;
public class FileDemo1 {
public static void main(String[] args) {
//定义文件对象file
File file = new File("D://");
//返回该路径下的file对象数组
File[] fileArray = file.listFiles();
//增强for循环,遍历
for(File f : fileArray){
//判断是否为文件
if(f.isFile()){
//如果文件后缀名是 “.jpg” 输出
if(f.getName().endsWith(".jpg")){
System.out.println(f.getName());
}
}
}
}
}
方法优化:文件名称过滤器改进
public String[] list(FilenameFilter filter)
* public File[] listFiles(FilenameFilter filter)
package io;
import java.io.File;
import java.io.FilenameFilter;
public class FileDemo1 {
public static void main(String[] args) {
//定义文件对象file
File file = new File("D://");
//返回该路径下的file对象数组
String[] strArray = file.list(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
//把这个文件或着文件夹的名称加不加到数组中,取决于这里的返回值是true还是false
//是文件,加到数组中
//相当于
//boolean flag = =file.isFile();
//boolean flag2 = name.endsWith(".jpg");
return new File(dir, name ).isFile() && name.endsWith(".jpg");
}
});
//增强for循环,遍历
for(String f : strArray){
System.out.println(f);
}
}
}
批量修改文件名称
package io;
import java.io.File;
/* 需求:批量修改文件名
* 修改之前:E:\评书\三国演义_001[评书网-]_桃园结义.avi
* 修改之后:E:\评书\三国演义\001_桃园结义.avi
* */
/*思路:
* 1、封装目录
* 2、获取该目录下所有的文件的file数组
* 3、拼接一个新的名称,然后重命名即可
* */
public class FileDemo3 {
public static void main(String[] args) {
//封装目录
File srcFolder = new File("E:\\评书\\三国演义");
//获取该目录下所有的文件的file数组
File[] fileArray = srcFolder.listFiles();
//遍历file数组,得到每一个file对象
for(File f : fileArray){
//System.out.println(f);
String name = f.getName();
//找到第一个下划线的位置
int Index = name.indexOf("_");
//从startIndex+1截取到startIndex+4
String numberString = name.substring(Index+1,Index+4);
//System.out.println(numberString);
//00~.数字截取完毕,之后截取章节名称
//找到最后一个"_"的位置
int endIndex = name.lastIndexOf(".");
//从最后一个下划线处开始截取到最后
String nameString = name.substring(endIndex);
String newName = numberString.concat(nameString);
// System.out.println(newName);
//组成新文件
File newFile = new File(srcFolder,newName);
//重命名即可
f.renameTo(newFile);
}
}
}