用一个简单的例子说明怎样对指定目录的文件按文件名排序。
代码
FileUtil.java
public class FileUtil {
//for test
public static void main(String []args) {
File dirFile = new File("c:\\");
File [] sortedFiles = listSortedFiles(dirFile);
}
//list sorted files
public static File[] listSortedFiles(File dirFile) {
assert dirFile.isDirectory();
File[] files = dirFile.listFiles();
FileWrapper [] fileWrappers = new FileWrapper[files.length];
for (int i=0; i<files.length; i++) {
fileWrappers[i] = new FileWrapper(files[i]);
}
Arrays.sort(fileWrappers);
File []sortedFiles = new File[files.length];
for (int i=0; i<files.length; i++) {
sortedFiles[i] = fileWrappers[i].getFile();
}
return sortedFiles;
}
}
class FileWrapper implements Comparable {
/** File */
private File file;
public FileWrapper(File file) {
this.file = file;
}
public int compareTo(Object obj) {
assert obj instanceof FileWrapper;
FileWrapper castObj = (FileWrapper)obj;
if (this.file.getName().compareTo(castObj.getFile().getName()) > 0) {
return 1;
} else if (this.file.getName().compareTo(castObj.getFile().getName()) < 0) {
return -1;
} else {
return 0;
}
}
public File getFile() {
return this.file;
}
}
代码比较简单,就不加以解说了。
按照同样的做法,可追加按大小,扩展名等排序。
分享到:
相关推荐
在IT行业中,对目录里的文件名进行比较是一项常见的任务,特别是在数据管理、文件同步或备份等场景中。这个任务的目的是确保文件系统的一致性,防止数据冗余或丢失。根据提供的标题“目录里的文件名比较”和描述...
在Java编程中,获取某个路径下所有文件列表并将其写入指定文件是一项常见的任务,尤其在文件管理和系统操作中非常实用。以下是如何实现这个功能的详细步骤和相关知识点。 首先,我们需要导入Java.io和java.nio.file...
标题"指定文件路径下所有文件名和路径"所指的知识点主要涉及如何遍历一个目录及其子目录,获取其中所有文件的名称和它们完整的路径。这种功能在编程中常常用于文件管理、备份、分析或者日志记录等场景。 描述中提到...
根据提供的文件信息,我们可以归纳出以下关于Java排序的相关知识点: ### 一、文件基本信息 - **文件名**:`java排序.txt` - **文件描述**:该文本文件主要介绍了几种常用的Java排序算法,并通过示例代码展示了...
"文件选择控件(可以在指定目录下新建文件)"这一标题暗示了我们讨论的是一款能够提供这些功能的自定义控件。这种控件在各种应用程序中都有广泛的应用,比如文档编辑器、图片浏览器或者云存储服务的本地客户端等。 ...
最后,我们使用`Collections.sort`对文件列表进行排序,然后按顺序打印出文件名及其最后访问时间。 通过这种方式,开发者可以利用JNA库轻松地在Java应用程序中获取Windows文件系统的详细信息,特别是当需要基于非...
- **按文件名排序**:使用 `FSO` 的 `files` 属性返回的文件集合本身就是按文件名排序的。 - **按创建日期排序**:可以先将所有文件添加到数组中,然后根据每个文件的 `datecreated` 属性对数组进行排序。 ### 6. ...
这里,`compare()`方法根据文件名的自然顺序(字母顺序)进行比较,如果需要自定义排序规则,比如按文件大小或最后修改时间排序,可以在`compare()`方法中调整逻辑。 此外,为了提高用户体验,可以考虑添加其他排序...
2. **读取特定路径下所有文件名**:可以使用`File`类的`listFiles()`方法获取指定目录下的所有文件和子目录。如果只需要文件名,可以通过`getName()`方法获取每个`File`对象的名称。 3. **大文本转小文本**:处理...
本文将详细解析标题为“Java递归获取匹配后缀的文件列表”的程序,它演示了如何使用Java来递归地查找指定路径下具有特定后缀的文件,并将它们的路径或名称存储在列表中。 首先,让我们了解递归的基本概念。递归是指...
在这个过程中,工具首先会打开两个文件夹中的同名文本文件,然后逐行读取内容,按照一定的顺序(通常是文件的默认排序或用户指定的顺序)将内容写入新的合并文件。 4. **文本合并逻辑**:合并可能涉及两种方式:行...
3. **写入文件**: 点击“写入文件”按钮后,程序会将文本框中的5个浮点数转换为浮点型,并保存到指定文件中。 4. **读取并排序**: 再次点击“写入文件”前,先点击“排序”按钮对数据进行排序。排序完成后,将排序...
浏览图片文件:程序支持浏览本地计算机中的图片文件,并按文件名、日期、大小等方式进行排序和查看。 上传图片文件:程序支持上传图片文件到指定的目录,并可以设置上传的文件名和存储路径。 下载图片文件:程序...
1、实现文件夹创建、删除、进入。 2、实现当前文件夹下的内容罗列... 4、实现指定文件的加密和解密。 5、实现多个文件的压缩和解压缩。 6、实现一个大文件的分割和合并。 7、实现把项目导出为可执行的*.jar文件
- `File(String path)`:通过指定文件或目录的路径创建`File`对象。 - `File(String parent, String child)`:通过父路径和子文件名创建`File`对象。 - `File(File parent, String child)`:通过父`File`对象和子...
在Eclipse中,你可以创建一个新的Java项目,然后将`TcpSendFile`目录中的源代码文件导入。源代码可能包括一个服务器端程序和一个客户端程序,分别处理文件的发送和接收。 标签中提到的UDP(User Datagram Protocol...
`os.listdir()`函数可以返回指定目录下的所有文件和子目录的列表。例如,如果我们要获取当前目录下的所有文件名,只需一行代码:`files = os.listdir('.')`。对于文件夹名,我们可以结合`os.path.isdir()`判断是否为...
6. 结果排序和分组:根据文件名、大小、日期等属性对搜索结果进行排序和分组,方便查看。 此外,为了提高性能,这种工具可能还采用了优化策略,如使用并发处理和缓存机制,以减少扫描时间和内存消耗。同时,良好的...
可以设置当前工作文件夹,默认在当前文件夹下进行文件的增删改查操作,文件夹的增删改查操作。...可以对指定文件进行加密和解密;加密后形成新的文件,可以指定文件名。 可以对文件或者文件夹进行压缩,或者解压。
最后,可以按照用户需求(如按文件名排序)输出结果,或者写入到文件或日志中。 6. **异常处理**:在编写这样的工具时,需要考虑到可能出现的各种异常,如文件权限问题、路径不存在等。使用`try-catch`语句捕获并...