【发布时间】:2019-01-12 21:12:46
【问题描述】:
有没有更好的方法来排序,以获得正确的顺序?谢谢
import java.io.*;
import java.util.*;
public class JpgDirToHtm
{
public static void main(String[] args) throws FileNotFoundException
{
Scanner kb = new Scanner(System.in);
System.out.print("Enter the path of the folder whose contents you wish to insert into an html file: ");
String path = kb.nextLine();
File folder = new File(path);
File[] listOfFiles = folder.listFiles();
ArrayList<String> htmlTextList = new ArrayList<String>();
for (int i = 0; i < listOfFiles.length; i++)
{
if (listOfFiles[i].isFile())
{
htmlTextList.add(listOfFiles[i].getName() );
}
}
Collections.sort(htmlTextList);
System.out.println(htmlTextList);
}
}
这是它打印的内容 [1.jpeg、10.jpg、11.jpeg、12.jpeg、13.jpeg、14.jpeg、16.jpg、17.jpg、18.jpg、19.jpg、2.jpeg、20.jpg、21 .jpg、22.jpg、23.jpg、24.jpg、25.jpg、3.jpg、5.jpg、7.jpeg、9.jpg]
我需要 2.jpeg 在 1.jpeg 等之后出现。
抱歉,可能有一个简单的修复方法,但我在谷歌上没有找到任何东西。我是编程新手。
其他一切都很好。整个程序可以拍摄数千张照片,并以您可以设置的每页给定数量的照片自动将它们放置在正确大小的 html 网页中。如果有人有兴趣拥有其余的代码,我会发布它。
【问题讨论】:
-
在这种安排中,
1Foo.jpg应该在哪里? -
您正在使用字符串比较。您必须剥离文件名将其转换为整数并对其进行排序
-
“例如,1Foo.jpg 在这种排列中应该放在哪里?”好问题。
-
“你正在使用字符串比较。你必须剥离文件名将其转换为整数并对其进行排序”这就是我所害怕的。
-
有没有办法在 java 中获取元数据,以便我可以按日期排序?