我正在一个项目上,我必须使用上一个创建的文件。
例如,当我运行应用程序时,我只有file1
,因此应用程序仅使用此文件,而当我创建新的file2
时,我希望应用程序不再使用file1
自动file2
。
我希望你能帮助我。
答案 0 :(得分:0)
您可以尝试使用File directory = new File("<path>");
方法获取文件列表。然后,您可以使用Comparator
或Comparable
来使用Collections.sort()
或Arrays.sort()
来排序文件,方法是使用最后修改的日期方法降序排列。最后一部分只是选择数组的顶部文件。
示例代码:
File parentDirectory = new File("some path");
File[] files = parentDirectory.listFiles();
Arrays.sort(files, <Your Custom Comparator>);
File latestFile = files[0]
答案 1 :(得分:0)
解压缩文件或按日期对文件进行排序。
如果可以使用更新时间,则可以使用方法lastModified
直接访问File
类:
一个长值,代表文件的最后修改时间,以自纪元(1970年1月1日格林尼治标准时间00:00:00)开始的毫秒数为单位
如果您需要创建日期,则可以通过以下方式获得它:
Path file = ...;
BasicFileAttributes attr = Files.readAttributes(file, BasicFileAttributes.class);
// attr.creationTime() has the creation time
答案 2 :(得分:0)
您几乎没有提供有关您的应用程序的信息。此文件仅由一类使用吗?仅一个实例?是否在所有应用程序中使用它?
最后一个(在所有应用程序中使用)是最一般的情况,我将假设它。
我要处理的方法是拥有一个Singleton类来提供文件。单例是仅存在一个实例的类,并且在所有应用程序之间共享。
除了Singleton所需的属性和方法外,此类可以实现,可以具有跟踪文件的最后使用的属性“文件”。
类似的东西:
class Singleton {
private static File lastFile; // Tracks the last file
public static File getFile(){return lastFile;}
public static File newFile(String path) { lastFile = new File(path); return lastFile;}
}