永发信息网

Java:为什么在Linux中读取文件的顺序有差异呢

答案:2  悬赏:0  手机版
解决时间 2021-12-31 02:06
在Linux文件夹下写入文件0、1、2、3、4,5、6、7、8、9,但是遍历读取该文件夹下文件读取到的顺序却是1、5、9、8、2、3、6、4、7、0,所以为遍历代码加上了TreeMap以为这样就可以按顺序读取出来了,但是输出结果却只是0、3、4、7、8

import java.io.File;
import java.util.TreeMap;

public class Read {
public static void main(String[] args) {
//output("/usr/local/file");
output("E:/file");
}

public static void output(String dir) {
try {
TreeMap tm = new TreeMap();
File file = new File(dir);
File[] files = file.listFiles();
if (0 == files.length) {
return;
}
for (int i = 0; i <= files.length - 1; i++) {
Long modifytimeL = new Long(files[i].lastModified());
tm.put(modifytimeL, files[i]);
}
java.util.Iterator it = tm.keySet().iterator();
while(it.hasNext())
{
Long timeKey = it.next();
File tempFile = tm.get(timeKey);
System.out.println(tempFile.getName());
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

为什么会这样呢?

PS:在Windows环境中上代码可以正常输出0~9的文件,但在Linux环境中却只输出了5个
最佳答案
这个跟系统的底层实现有关系。
全部回答
期待看到有用的回答!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
祁连默勒镇到热水镇多少公里
计算24÷22的结果是A.16B.8C.2D.4
第二部分:阅读理解(共两节,满分50分)第一
红米1S手机升级8.0.1系统怎么样?稳定不稳定
打火机用的什么气体
测试你是怎么死的
vivox7新买来用了5天!就黑屏了!电话打进会
---Are you still very busy?-Yes, I the re
电脑特别卡 重装系统可以解决吗?用盗版的有
资生堂百优眼霜好用吗
领取工伤保险赔偿金都要什么手续
金鹿超市地址在哪,我要去那里办事
对方要开收据 收据上是盖财务章 还是盖现金收
8051单片机中程序计数器PC怎么赋值
梦见涨水
推荐资讯
影响文化发展的重要因素有①自然环境②社会制
新东方(教英语的)我去上课 都不点名的 有次
这句英语符合语法吗?有没有更好的说法
2011款别克新凯越倒车影像开关在什么地方?
板桥供电所(板桥营业厅)地址在哪?我要去那里
天天向上田源去哪了 田源为什么离开天天向上
机械工程师除了本专业的知识外还应该精通或掌
Early last Tuesday, six men carrying machi
经常看到美国 IT 界人士抱怨美国的电信运营商
上古卷轴5黎明守卫dlc怎么用
电影《叶问》的英文片名为什么叫IP Man
我在捷信分期4300元,分12期每个月还款431.99
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?