如下代码使用递归算法遍历某个目录下的所有文件,并输出文件名
importjava.io.File;
importjava.util.ArrayList;
publicclassFileTest{
privatestaticArrayList<String>filelist=newArrayList<String>();
publicstaticvoidmain(String[]args)throwsException
{
StringfilePath="E://Struts2";
getFiles(filePath);
}
/*
*通过递归得到某一路径下所有的目录及其文件
*/
staticvoidgetFiles(StringfilePath)
{
Fileroot=newFile(filePath);
File[]files=root.listFiles();
for(Filefile:files)
{
if(file.isDirectory())
{
/*
*递归调用
*/
getFiles(file.getAbsolutePath());
filelist.add(file.getAbsolutePath());
System.out.println("显示"+filePath+"下所有子目录及其文件"+file.getAbsolutePath());
}else{
System.out.println("显示"+filePath+"下所有子目录"+file.getAbsolutePath());
}
}
}
}
② Java:找出指定文件夹里的文件名!
importjava.io.File;
/*
*获取功能:
*publicString[]list():获取指定目录下的所有文件或者文件夹的名称数组
*publicFile[]listFiles():获取指定目录下的所有文件或者文件夹的File数组
*/
publicclassFileDemo{
publicstaticvoidmain(String[]args){
//指定一个目录
Filefile=newFile("e:\");
//publicString[]list():获取指定目录下的所有文件或者文件夹的名称数组
String[]strArray=file.list();
for(Strings:strArray){
System.out.println(s);
}
System.out.println("------------");
//publicFile[]listFiles():获取指定目录下的所有文件或者文件夹的File数组
File[]fileArray=file.listFiles();
for(Filef:fileArray){
System.out.println(f.getName());
}
}
}
③ java 根据文件获取文件名及路径的方法
通过File类获取文件,然后通过以下两种方法获取绝对路径和名称。返回类型为String
获取绝对路径:file.getAbsolutePath()
获取名称: file.getName()
④ Java如何获取指定文件夹内的全部文件名称,并将文件名称输出到一字符数组内
importjava.io.File;
importjava.io.FilenameFilter;
publicclassTest{
publicstaticvoidmain(String[]args){
//C:盘下的所有文件,包括文件夹
String[]filenames=newFile("C:/").list();
//C:盘下后缀名为txt的文件
String[]filenames2=newFile("C:/").list(newFilenameFilter(){
publicbooleanaccept(Filedir,Stringname){
returnname.endsWith(".txt");
}
});
//C:盘下所有目录
String[]filenames3=newFile("C:/").list(newFilenameFilter(){
publicbooleanaccept(Filedir,Stringname){
returnnewFile(dir,name).isDirectory();
}
});
}
}
⑤ java获取当前文件夹名称
如果知道该来文件的路径自filePath
可以用 String parentFilePath = filePath.subString(0,filePath.lastIndexOf("\\")) 获取当前文件夹所在的路径
然后 fileFolderName = parentFilePath.subString(parentFilePath.lastIndexOf("\\"),parentFilePath.length()); 获取文件夹的名称。
⑥ JAVA怎么获得指定文件夹里面的文件名和文件大小,并且将结果导出成为一个TXT文件
importjava.io.File;
importjava.io.FileInputStream;
importjava.io.FileOutputStream;
importjava.io.InputStream;
importjava.io.OutputStream;
importjava.io.OutputStreamWriter;
importjava.util.ArrayList;
importjava.util.List;
publicclass${
publicstaticvoidmain(String[]args){
List<Bean>data=newArrayList<Bean>();
getFile(data,"D:/");
System.out.println(data);
save(data);
}
privatestaticvoidsave(List<Bean>data){
OutputStreamos=null;
OutputStreamWriterosw=null;
try{
os=newFileOutputStream(newFile("C:/a.csv"));
osw=newOutputStreamWriter(os,"GBK");
for(Beanbean:data){
osw.write(bean+" ");
}
osw.flush();
}catch(Exceptione){
e.printStackTrace();
}finally{
if(os!=null){
try{
os.close();
}catch(Exceptione){
e.printStackTrace();
}
}
if(osw!=null){
try{
osw.close();
}catch(Exceptione){
e.printStackTrace();
}
}
}
}
privatestaticvoidgetFile(List<Bean>data,Stringpath){
Filef=newFile(path);
File[]fs=f.listFiles();
if(fs==null){
return;
}
for(Filefile:fs){
if(file.isFile()){
data.add(newBean(file.getParentFile().getAbsolutePath(),file.getName(),getFileSize(file)));
}else{
getFile(data,file.getAbsolutePath());
}
}
}
privatestaticintgetFileSize(Filef){
InputStreamfis=null;
try{
fis=newFileInputStream(f);
returnfis.available();
}catch(Exceptione){
e.printStackTrace();
}finally{
if(fis!=null){
try{
fis.close();
}catch(Exceptione){
e.printStackTrace();
}
}
}
return0;
}
}
classBean{
privateStringfilePath;
privateStringfileName;
privateintsize;
publicBean(StringfilePath,StringfileName,intsize){
this.filePath=filePath;
this.fileName=fileName;
this.size=size;
}
publicStringgetFilePath(){
returnfilePath;
}
publicvoidsetFilePath(StringfilePath){
this.filePath=filePath;
}
publicStringgetFileName(){
returnfileName;
}
publicvoidsetFileName(StringfileName){
this.fileName=fileName;
}
publicintgetSize(){
returnsize;
}
publicvoidsetSize(intsize){
this.size=size;
}
publicStringtoString(){
returnfilePath+","+fileName+","+size+"K";
}
}
⑦ java获取当前文件夹名字
定义对象File,传入路径参数,File提供方法getName直接获得路径的名称,即你想要的部分回
File file = new File("xxxx");
System.out.println(file.getName());
-----------------------------------------------
String getName()
返回由此抽象路答径名表示的文件或目录的名称。
参见参考资料
⑧ java如何获取文件信息
File 类是对文件和文件夹的抽象,包含了对文件和文件夹的多种属性和操作方法。File类的常用方法如下表:
返回
方法
说明
String getName 获取文件名称
String getParent 获取文件的父路径字符串
String getPath 获取文件的相对路径字符串
String getAbsolutePath 获取文件的绝对路径字符串
boolean exists 判断文件或者文件夹是否存在
boolean isFile 判断是不是文件类型
boolean isDirectory 判断是不是文件夹类型
boolean delete 删除文件或文件夹,如果删除成功返回结果为true
boolean mkdir 创建文件夹,创建成功返回true
boolean setReadOnly 设置文件或文件夹的只读属性
long length 获取文件的长度
long lastModified 获取文件的最后修改时间
String[ ] list 获取文件夹中的文件和子文件夹的名称,并存放到字符串数组中
⑨ java怎么获取一个目录下的所有文件名
获取一个目录下的所有文件和目录方法:
importjava.io.File;
publicclassFileTest{
publicstaticvoidmain(String[]args){
/**
*将目标目录封装成File对象。
*/
Filedir=newFile("/Users/zym/Desktop/Mac应用程序");
/**
*获取目录下的所有文件和文件夹
*/
String[]names=dir.list();
for(Stringname:names){
System.out.println(name);
}
}
}
通过文件过滤器获取某个目录下的文件,例如所有的 .txt、.doc文件。
过滤器:
importjava.io.File;
importjava.io.FilenameFilter;
{
@Override
publicbooleanaccept(Filedir,Stringname){
returnname.endsWith(".doc");
}
}
获取某个目录下的按照过滤器规则的所有文件:
importjava.io.File;
publicclassFileTest{
publicstaticvoidmain(String[]args){
/**
*将目标目录封装成File对象。
*/
Filedir=newFile("/Users/zym/Desktop/Mac应用程序");
/**
*通过过滤器获取目录下的所有的.doc文件
*/
String[]names=dir.list(newFilterByDoc());
for(Stringname:names){
System.out.println(name);
}
}
}
希望能对您有所帮助!