java列出文件夹下的所有文件

java列出文件夹下的所有文件,第1张

/

  获取指定路径下的所有文件列表

 

  @param dir 要查找的目录

  @return

 /

public static List<String> getFileList(String dir) {

    List<String> listFile = new ArrayList<>();

    File dirFile = new File(dir);

    //如果不是目录文件,则直接返回

    if (dirFileisDirectory()) {

        //获得文件夹下的文件列表,然后根据文件类型分别处理

        File[] files = dirFilelistFiles();

        if (null != files && fileslength > 0) {

            //根据时间排序

            Arrayssort(files, new Comparator<File>() {

                public int compare(File f1, File f2) {

                    return (int) (f1lastModified() - f2lastModified());

                }

                public boolean equals(Object obj) {

                    return true;

                }

            });

            for (File file : files) {

                //如果不是目录,直接添加

                if (!fileisDirectory()) {

                    listFileadd(filegetAbsolutePath());

                } else {

                    //对于目录文件,递归调用

                    listFileaddAll(getFileList(filegetAbsolutePath()));

                }

            }

        }

    }

    return listFile;

}

1nextint()等一系列类似的从控制台取数字的 *** 作,都与一个共性 就是“只取数字”部分。什么意思呢,当控制台提示你输入数字时 比如你

输入:123(回车) ,这实际的字符串是:在windows平台上:123\r\n;在linux平台上是:123\n。而我们的

nextint() 只接受了 数字 123 而 “回车”字符却仍然在缓冲区中,则现在使用nextline()时发现,用户根本没有输入,就执行过去

了这个语句,因为程序自动把上个缓冲中的“回车”字符串内容赋值给了nextline(),恰好 nextline() 又是一“\r\n”作为分界标志

的,所以nextline()中的内容就是一个空字符“”。

2解决方法:

1)不使用 nextint() ,使用 integerparseint(scannernextline());

2)或者在每个nextint()后多加上一个nextline(),让他来消除掉nextint()中留下的“回车”

3你的代码可改为:

score = inputnextint();

inputnextline();

scoresadd(score);

//或者

score = integerparseint(inputnextline());

java读取文件夹下txt文件中特定信息

import javaioBufferedReader;

import javaioFileInputStream;

import javaioIOException;

import javaioInputStreamReader;

import javautil<a href=">

File file = new File("E:\\test\\");

File[] files = filelistFiles();

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

  if(!files[i]isDirectory()){

     files[i];

  }

}

上面那段代码可以得到e盘test中所有文件的文件列表。

如果也需要输出该文件夹下面的文件夹只需把if(!files[i]isDirectory())判断语句去掉即可。

谢谢采纳!

既然你的F盘中xx下有文件,那就只写String path="F://xx";就行了啊!然后在去获得file下得所有文件,遍历打出就可以了!我试了一下,没有报错,也都可以打出来!你自己在试试看看!

public void listMyFile() throws Exception {

//获取FileSystem

//"hdfs"为伪造用户,使用hdfs用户进行访问

FileSystem fileSystem = FileSystemget(new URI("hdfs://19216883141:8020"), new Configuration(), "hdfs");

//获取指定目标目录下的所有文件信息

RemoteIterator<LocatedFileStatus> iterator =

fileSystemlistFiles(new Path("/"), true);

//遍历迭代器

while (iteratorhasNext()) {

//获取每个文件详细信息

LocatedFileStatus fileStatus = iteratornext();

//获取每个文件的存储路径

Systemoutprintln("路径:" + fileStatusgetPath() +

"---" + fileStatusgetPath()getName());

//获取文件的block存储信息

BlockLocation[] blockLocations = fileStatusgetBlockLocations();

//打印每个文件的block数

Systemoutprintln("block数量:" + blockLocationslength);

//打印每一个block副本的存储位置

for (BlockLocation blockLocation : blockLocations) {

String[] hosts = blockLocationgetHosts();

for (String host : hosts) {

Systemoutprintln("主机:" + host);

}

}

}

}

以上就是关于java列出文件夹下的所有文件全部的内容,包括:java列出文件夹下的所有文件、java怎样读取文件所有内容,主要是跳行问题谢谢了、java读取文件夹下txt文件中特定信息(很急求解!!!)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存