gpt4 book ai didi

java - 如何在 jlist 内的 java 中显示文件名的短长度版本

转载 作者:行者123 更新时间:2023-12-02 02:59:23 27 4
gpt4 key购买 nike

我有一个显示文件列表的 JList。我设置的样式看起来不错,FileFilter 设置为仅显示名称长度为 15 个字符的文件和目录,但我仍然想显示比该长度更长的文件,只显示前 15 个字符左右。基本上,我希望它显示以下内容:

如果我有一个文本文件,内容为“1234567891234567.txt”,该文件有 20 个字符(包括“.txt”),并且它不会显示在列表中。但我希望它显示这样的内容:

“12345...567.txt”或类似的内容。有办法做到这一点吗?

我是否必须创建一个单独的数组并复制所有内容,并将新数组的值编辑为不超过 15 个字符?我尝试寻找一个可以更改文件名的函数,但找不到任何函数。有建议吗?

最佳答案

您可以检查文件名的长度,如果超过20个字符,可以将其缩写,如下方法:

private static String getShortName(String fileName){
if(fileName.length() <= 20){
return fileName;
}
String extension = fileName.substring(fileName.lastIndexOf("."));
String name = fileName.substring(0, fileName.lastIndexOf("."));
return name.substring(0, 5) + "..." + name.substring(name.length() - 4) + extension;
}

public static void main(String[] args) throws Exception {
System.out.println(getShortName("123.txt"));
System.out.println(getShortName("123rewe.txt"));
System.out.println(getShortName("123fdsfdsfdasfadsfdsgafgaf.txt"));
}

请注意,如果扩展名本身超过 20 个字符或文件名没有任何扩展名,则该功能将不起作用。但是,您可以根据您的要求对其进行修改。

关于java - 如何在 jlist 内的 java 中显示文件名的短长度版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42587854/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com