/
获取指定路径下的所有文件列表
@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文件中特定信息(很急求解!!!)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)