java中怎样获得一个文件夹中的所有文件名

java中怎样获得一个文件夹中的所有文件名,第1张

java中获得一个文件夹中的所有文件名代码如下:

package comreadfile;

import javaioFile;

public class GetAllFiles {

public static void main(String[] args) {

//路径   这里写一个路径进去

String path="F:\\QQ文档";

//调用方法

getFiles(path);

}

 

/

递归获取某路径下的所有文件,文件夹,并输出

/

public static void getFiles(String path) {

File file = new File(path);

// 如果这个路径是文件夹

if (fileisDirectory()) {

// 获取路径下的所有文件

File[] files = filelistFiles();

for (int i = 0; i < fileslength; i++) {

// 如果还是文件夹 递归获取里面的文件 文件夹

if (files[i]isDirectory()) {

Systemoutprintln("目录:" + files[i]getPath());

getFiles(files[i]getPath());

} else {

Systemoutprintln("文件:" + files[i]getPath());

}

}

} else {

Systemoutprintln("文件:" + filegetPath());

}

}

}

扩展资料:

如果想要获得当前文件中的文件名只需要String [] fileName = filelist();就可以了。

如果要包括文件中的文件名就可以用递归的方式。下面是两个具体的实现。

其中public static String [] getFileName(String path)是只得到当前文件中的文件名。

public static void getAllFileName(String path,ArrayList<String> fileName)是包括当前文件及其子文件的文件名。

参考资料:

百度百科-Java

我写了一段遍历某个文件查找指定文件的,你自己改成你需要的功能。

import javaioFile;

import javautilHashMap;

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 = filelistFiles();

//如果文件数组为null则返回

if (files == null)

return;

for (int i = 0; i < fileslength; i++) {

if (files[i]isDirectory()) {

//判断是不是文件夹,如果是文件夹则继续向下查找文件

find(files[i]getAbsolutePath());

} else {

//记录文件路径

String filePath = files[i]getAbsolutePath()toLowerCase();

//记录文件名

String fileName=files[i]getName()toLowerCase();

// Systemoutprintln("---"+strFileName);

filelistput(fileName, filePath);

}

}

}

public static void main(String[] args) {

//需要遍历的路径,也就是你要查找文件所在的路径

String path="D:\\kpi\\";

find(path);

Systemoutprintln("kpi9的路径:"+filelistget("kpi9"));

//输出结果:d:\kpi\kpi9

}

}

给你写了一个小方法,应该满足你的要求了:

//url是你要读取的文件的路径,wanted是所要求的包含的字符串如这里是“COMMON9006 - 000332”。

public static void readWantedText(String url, String wanted) {

try {

FileReader fr = new FileReader(url);

BufferedReader br = new BufferedReader(fr);

String temp = "";// 用于临时保存每次读取的内容

while (temp != null) {

temp = brreadLine();

if (temp != null && tempcontains(wanted)) {

Systemoutprintln(temp);

}

}

} catch (FileNotFoundException e) {

// TODO Auto-generated catch block

eprintStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

eprintStackTrace();

}

}

用的话直接调用这个方法就可以了:例如

readWantedText("D:\\testtxt", "COMMON9006 - 000332");

//注意java路径需要在每条\前面在加条\表示转义。

给你大概写了几个,是用截字符串的方法

import javaioBufferedReader;

import javaioFileReader;

public class FileReadTest {

public static void main(String[] args) throws Exception {

FileReader fw = new FileReader("D:\\welcometxt");

BufferedReader br = new BufferedReader(fw);

String line = brreadLine();

line = linereplaceAll("alert ", "");

String alert = linesubstring(0, lineindexOf(" "));

Systemoutprintln(alert);

line = linereplaceAll(alert, "");

line = linetrim();

String from = linesubstring(1, lineindexOf(" "));

Systemoutprintln(from);

line = linetrim();

line = linesubstring(lineindexOf(" ") + 1);

String from_date = linesubstring(0, lineindexOf(" "));

Systemoutprintln(from_date);

line = linesubstring(lineindexOf(" ") + 1);

line = linesubstring(lineindexOf("$") + 1);

String to = linesubstring(0, lineindexOf(" "));

Systemoutprintln(to);

}

}

import javaioFile;

import javaioFileInputStream;

import javaioFileOutputStream;

import javaioInputStream;

import javaioOutputStream;

import javaioOutputStreamWriter;

import javautilArrayList;

import javautilList;

public class $ {

    public static void main(String[] args) {

        List<Bean> data = new ArrayList<Bean>();

        getFile(data, "D:/");

        Systemoutprintln(data);

        save(data);

    }

    private static void save(List<Bean> data) {

        OutputStream os = null;

        OutputStreamWriter osw = null;

        try {

            os = new FileOutputStream(new File("C:/acsv"));

            osw = new OutputStreamWriter(os, "GBK");

            for (Bean bean : data) {

                oswwrite(bean + "\r\n");

            }

            oswflush();

        } catch (Exception e) {

            eprintStackTrace();

        } finally {

            if (os != null) {

                try {

                    osclose();

                } catch (Exception e) {

                    eprintStackTrace();

                }

            }

            if (osw != null) {

                try {

                    oswclose();

                } catch (Exception e) {

                    eprintStackTrace();

                }

            }

        }

    }

    private static void getFile(List<Bean> data, String path) {

        File f = new File(path);

        File[] fs = flistFiles();

        if (fs == null) {

            return;

        }

        for (File file : fs) {

            if (fileisFile()) {

                dataadd(new Bean(filegetParentFile()getAbsolutePath(), filegetName(), getFileSize(file)));

            } else {

                getFile(data, filegetAbsolutePath());

            }

        }

    }

    private static int getFileSize(File f) {

        InputStream fis = null;

        try {

            fis = new FileInputStream(f);

            return fisavailable();

        } catch (Exception e) {

            eprintStackTrace();

        } finally {

            if (fis != null) {

                try {

                    fisclose();

                } catch (Exception e) {

                    eprintStackTrace();

                }

            }

        }

        return 0;

    }

}

class Bean {

    private String filePath;

    private String fileName;

    private int size;

    public Bean(String filePath, String fileName, int size) {

        thisfilePath = filePath;

        thisfileName = fileName;

        thissize = size;

    }

    public String getFilePath() {

        return filePath;

    }

    public void setFilePath(String filePath) {

        thisfilePath = filePath;

    }

    public String getFileName() {

        return fileName;

    }

    public void setFileName(String fileName) {

        thisfileName = fileName;

    }

    public int getSize() {

        return size;

    }

    public void setSize(int size) {

        thissize = size;

    }

    public String toString() {

        return filePath + "," + fileName + "," + size + "K";

    }

}

给你写了一个小方法,应该满足你的要求了:

//url是你要读取的文件的路径,wanted是所要求的包含的字符串如这里是“COMMON9006 - 000332”。

public static void readWantedText(String url, String wanted) {

try {

FileReader fr = new FileReader(url);

BufferedReader br = new BufferedReader(fr);

String temp = "";// 用于临时保存每次读取的内容

while (temp != null) {

temp = brreadLine();

if (temp != null && tempcontains(wanted)) {

Systemoutprintln(temp);

}

}

} catch (FileNotFoundException e) {

// TODO Auto-generated catch block

eprintStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

eprintStackTrace();

}

}

用的话直接调用这个方法就可以了:例如

readWantedText("D:\\testtxt", "COMMON9006 - 000332");

//注意java路径需要在每条\前面在加条\表示转义。

你好代码如下,我调试通过了,希望我的回答对你有帮助!

代码说明,要查询是否存在''java"。在D:盘建一个wordtxt的文档,里面写一些单词,保存。运行如下代码会判断是否存在“java”这个单词。

package t;

import javaioBufferedReader;

import javaioFileInputStream;

import javaioFileNotFoundException;

import javaioIOException;

import javaioInputStreamReader;

public class TestRead {

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

    FileInputStream fis = new FileInputStream("d:/wordtxt");

    InputStreamReader isr =new InputStreamReader(fis);

    BufferedReader br = new BufferedReader(isr);

     String s;

     int count=0;

     while((s=brreadLine())!=null){

     String[] s1 =ssplit(" ");

           for(int i = 0;i<s1length;i++){

                 if("java"equals(s1[i])){

            Systemoutprintln("存在单词"+s1[i]);

     count++;

    }

   }      

  }

  if(count==0){

   Systemoutprintln("不存在java这个单词");

  }

 }

}

以上就是关于java中怎样获得一个文件夹中的所有文件名全部的内容,包括:java中怎样获得一个文件夹中的所有文件名、java 根据文件获取文件名及路径的方法、JAVA读取指定文件里面的指定内容等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9281320.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存