Java FileOutputStream 设置文件图标

Java FileOutputStream set file icon

我有一个 FileOutputStream。我想 "save" 这个文件并给它一个 自己的图标 保存在资源文件夹中。

代码如下:

        ObjectOutputStream oout = new ObjectOutputStream(new FileOutputStream(path));

        oout.writeObject(this.categoryDAO);
        oout.writeObject(this.toDoDAO);
        oout.flush();
        oout.close();

在 "path" 变量中是包括文件名在内的整个路径。我想要那个文件的图标。

是否可以设置自己的图标,或者我必须用其他方式设置?

不,您不能只从 Java 执行此操作。

图标与文件扩展名相关联,因此如果文件以“.txt”结尾,则它可能会显示页面,而带有“.jpg”的图像将显示缩略图或图片图标。

这是在 OS 级别内置的。每当您安装新应用程序时,它们都会告诉 OS 它们可以处理哪些扩展。当 OS 在资源管理器中显示文件时,它会查看可以处理扩展名的应用程序列表,并显示相应的图标。

如果您想要一个特定的图标,您可以注册您自己的特定文件扩展名,当您在 Java 中保存文件时,使用该扩展名。如何做到这一点的具体细节取决于 OS,与 Java 无关,因此不在本答案的范围内。

我假设您在 windows 下并且您不能更改文件的图标(快捷方式或 .EXE 文件除外)。 您可以更改的是文件类型的默认图标。