我有一个文件列表,我想对它进行排序并提取上次修改的前 3 个文件。
约束:由于下游应用程序的兼容性问题,我无法使用 Java 7
File[] files = directory.listFiles();
Arrays.sort(files, new Comparator<File>(){
public int compare(File f1, File f2)
{
return Long.valueOf(f1.lastModified()).compareTo(f2.lastModified());
} });
Run Code Online (Sandbox Code Playgroud)
public static void sortFilesDesc(File[] files) {
Arrays.sort(files, new Comparator() {
public int compare(Object o1, Object o2) {
if ((File)o1).lastModified().compareTo((File)o2).lastModified()) {
return -1;
} else if (((File) o1).lastModified() < ((File) o2).lastModified()) {
return +1;
} else {
return 0;
}
}
});
}
Run Code Online (Sandbox Code Playgroud)
以上两种解决方案需要更多的时间来执行和内存。我的文件列表包含大约 300 个 tar 文件,每个文件大小为 200MB。所以它消耗更多的时间和内存。
有没有办法有效地处理这个问题?
每个比较操作都使用一个内存较高的文件对象,有没有办法释放内存并有效地处理它?
我试图在不允许我们使用互联网的工作场所中实现一些自动化(并非所有网站都允许使用)。
要求:我有一个表单,其中有一个文本框和一个提交按钮,我必须在文本框中输入一些内容并提交表单。我需要解析 HTML 并获取特定文本的响应。页面是用JSP编写的
限制:我无法访问第三方库并且必须使用 Java 6。
请引导我走向正确的方向。