A. 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 获取文件夹中的文件和子文件夹的名称,并存放到字符串数组中
B. java 根据文件获取文件名及路径的方法
我写了一段遍历某个文件查找指定文件的,你自己改成你需要的功能。
import java.io.File;
import java.util.HashMap;
public class Test1 {
static HashMap<String, String> filelist=new HashMap<String, String>();
/**
* 递归方法
* @param path 文件路径
*/
public static void find(String path){
File file=new File(path);
File[] files = file.listFiles();
//如果文件数组为null则返回
if (files == null)
return;
for (int i = 0; i < files.length; i++) {
if (files[i].isDirectory()) {
//判断是不是文件夹,如果是文件夹则继续向下查找文件
find(files[i].getAbsolutePath());
} else {
//记录文件路径
String filePath = files[i].getAbsolutePath().toLowerCase();
//记录文件名
String fileName=files[i].getName().toLowerCase();
// System.out.println("---"+strFileName);
filelist.put(fileName, filePath);
}
}
}
public static void main(String[] args) {
//需要遍历的路径,也就是你要查找文件所在的路径
String path="D:\\kpi\\";
find(path);
System.out.println("kpi.9的路径:"+filelist.get("kpi.9"));
//输出结果:d:\kpi\kpi.9
}
}
C. java怎么得到本机某一文件夹下所有文件的名字
Filefile=newFile("E:\test\");
File[]files=file.listFiles();
for(inti=0;i<files.length;i++){
if(!files[i].isDirectory()){
files[i];
}
}
上面那段代码可以得到e盘test中所有文件的文件列表。
如果也需要输出该文件夹下面的文件夹只需把if(!files[i].isDirectory())判断语句去掉即可。
谢谢采纳!
D. java怎样获得某个目录下所有文件的文件名
如下代码使用递归算法遍历某个目录下的所有文件,并输出文件名
import java.io.File;
import java.util.ArrayList;
public class FileTest {
private static ArrayList<String> filelist = new ArrayList<String>();
public static void main( String[] args ) throws Exception
{
String filePath = "E://Struts2";
getFiles( filePath );
}
/*
* 通过递归得到某一路径下所有的目录及其文件
*/
static void getFiles( String filePath )
{
File root = new File( filePath );
File[] files = root.listFiles();
for ( File file : files )
{
if ( file.isDirectory() )
{
/*
* 递归调用
*/
getFiles( file.getAbsolutePath() );
filelist.add( file.getAbsolutePath() );
System.out.println( "显示" + filePath + "下所有子目录及其文件" + file.getAbsolutePath() );
}else{
System.out.println( "显示" + filePath + "下所有子目录" + file.getAbsolutePath() );
}
}
}
}
E. 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);
}
}
}
希望能对您有所帮助!
F. 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());
}
}
}
G. java 怎么获取一个文件的文件名
如果想要获得当前文件中的文件名只需要String [] fileName = file.list();就可以了。如果要包括文件中的文件名就可以用递归的方式。下面是两个具体的实现。
其中public static String [] getFileName(String path)是只得到当前文件中的文件名。public static void getAllFileName(String path,ArrayList<String> fileName)是包括当前文件及其子文件的文件名。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
public class GetFileName
{
public static String [] getFileName(String path)
{
File file = new File(path);
String [] fileName = file.list();
return fileName;
}
public static void getAllFileName(String path,ArrayList<String> fileName)
{
File file = new File(path);
File [] files = file.listFiles();
String [] names = file.list();
if(names != null)
fileName.addAll(Arrays.asList(names));
for(File a:files)
{
if(a.isDirectory())
{
getAllFileName(a.getAbsolutePath(),fileName);
}
}
}
public static void main(String[] args)
{
String [] fileName = getFileName("F:\\xiaoshuo");
for(String name:fileName)
{
System.out.println(name);
}
System.out.println("--------------------------------");
ArrayList<String> listFileName = new ArrayList<String>();
getAllFileName("F:\\xiaoshuo",listFileName);
for(String name:listFileName)
{
System.out.println(name);
}
}
}
运行时需要更改一下具体的文件夹。
H. Java如何获取指定文件夹内的全部文件名称,并将文件名称输出到一字符数组内
String path=“C:/”;
File file=new File(path);
File files=file.Files();
String []filesName=new String[files.length];
int index=0;
for(File f:files){
files[index]=f.getName();
index++;
}