社区
Java SE
帖子详情
Java 下如何依次读取一个目录下的所有文件
mcolinc
2010-03-04 02:18:23
我在一个路径下有1000个文件
依次为1,2,3,4,5...........1000
我是用了
File f = new File(path);
File[] t = f.listFiles(); 这个方法来读取这个路径下的文件
但是最后结果顺序为
1,10,100,1000,101...
我怎么做才能让它读取的顺序为1,2,3......1000?
...全文
110
2
打赏
收藏
Java 下如何依次读取一个目录下的所有文件
我在一个路径下有1000个文件 依次为1,2,3,4,5...........1000 我是用了 File f = new File(path); File[] t = f.listFiles(); 这个方法来读取这个路径下的文件 但是最后结果顺序为 1,10,100,1000,101... 我怎么做才能让它读取的顺序为1,2,3......1000?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
JavaAlpha
2010-03-04
打赏
举报
回复
lz可以参考
http://topic.csdn.net/t/20030108/10/1337549.html
-
jxlstc
2010-03-04
打赏
举报
回复
错误原因分析:
File[] t = f.listFiles();//创建数组,未排序
String[] strArray = {"11","1","2","12"};
Arrays.sort(strArray);//调用此方法,实现默认排序
for(int i=0;i<strArray.length;i++){
System.out.println(strArray[i]); //1 11 12 2
}
说明:字符串排序是按首字母比较第一位,相同再比较第二位,依次类推,所以产生了一述结果
那么如何才能改变默认排序呢?
public class StringComparetor implements Comparator<String>{
@Override
public int compare(String o1, String o2) {
int i1 = Integer.parseInt(o1);
int i2 = Integer.parseInt(o2);
if(i1>i2){
return 1;
}else if(i1<i2){
return -1;
}
return 0;
}
}
说明:定义一个实现了Comparator接口的类,它是对排序规则的定义,具体应用规则到网上去查一下就可以了,很多的
String[] strArray = {"11","1","2","12"};
Arrays.sort(strArray,new StringComparetor());//自定义排序
for(int i=0;i<strArray.length;i++){
System.out.println(strArray[i]);//1 2 11 22
}
得到了我们想要的结果,针对于你的问题,我写的一个实例,你直接贴到你的代码中就可以用了:
import java.io.File;
import java.util.Comparator;
public class FileComparator implements Comparator<File> {
@Override
public int compare(File file01, File file02) {
System.out.println();
int file01name = Integer.parseInt(file01.getName().substring(0,file01.getName().indexOf('.')));
int file02name = Integer.parseInt(file02.getName().substring(0,file02.getName().indexOf('.')));
if(file01name>file02name){
return 1;
}else if(file02name<file02name){
return -1;
}
return 0;
}
}
import java.io.File;
import java.util.Arrays;
public class SortTest {
public static void main(String[] args){
File file = new File("f:/test");
File[] files = file.listFiles();
Arrays.sort(files,new FileComparator());
for(int i=0;i<files.length;i++){
System.out.println(files[i].getName());
}
}
}
Java
递归实现遍历
目录
,将所有
文件
绝对路径输出
案例遍历
目录
需求给定
一个
路径(E\
java
\xk),递归完成遍历该
目录
下的所有内容,并吧所有
文件
绝对路径输出在控制台思路.根据给定的路径创建
一个
File对象@定义
一个
方法,用于获取给定
目录
下的所有内容,参数为第1步创建...
java
读取
css
文件
,
java
读取
同
目录
下的
文件
java
怎么
读取
同
一个
工程里面的src
目录
下的
文件
?在
java
中获得
文件
的路径在我们做上传
文件
操作时是不可避免的。 web 上运行 1:this.getClass().getClassLoader().getResource("/").getPath(); this.getClass()....
Java
中如何
读取
文件
夹下的所有
文件
Java
里面是如何
读取
一个
文件
夹下的所有
文件
的?
Java
8里面有个Files.walk API 回答二 这个例子使用到了 API 指引推荐使用的try-with-resources pattern 。它确保了无论任何情况stream都会关闭。 回答三 在
Java
8里面...
Java
按照顺序
读取
文件
夹下所有
文件
02:
文件
在我本地,以及两台测试服务器上的
读取
顺是一致的,我就没有去在意,但是在项目现场出现
文件
读取
不一致情况 03:解决思路,将
文件
路径都存入list中,再对list进行排序 2:代码 public static String ...
java
实现获取text文本内容与获取整个
文件
夹下所有
文件
获取单个
文件
的文本内容 内容如下: 代码实现: ... // 获取
文件
的所有内容 import org.apache.commons.io.FileUtils; lat = FileUtils.readFileToString(new File("C:\\Users\\Administrator\\De
Java SE
62,636
社区成员
307,271
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章