windows文件资源管理器排序
发表于|更新于
|浏览量:
单独一个人可以灭亡的地方,两个人在一起可能得救。——巴尔扎克
今天做一个需求:按照windows文件资源管理器的排序规则进行文件排序
但我在研究过程中,发现了一丝不妙,这玩意儿的规则比我想的复杂
自己之前写了一版
但是感觉不特别满意,于是到处去搜了搜
发现微软的vscode的一个相关的issue,指出文件资源管理器和vscode中的排序发生了不一致
https://github.com/microsoft/vscode/issues/27759
然后我大概找到了vscode里的文件名排序js源码:
https://github.com/microsoft/vscode/blob/main/src/vs/base/common/comparers.ts#L157
感觉还行,但我又发现一位朋友曾经写过的java版本的,就直接拿来用了
https://github.com/kookob/windows-filename-sort
效果还不错,勉强满足了需求hh
相关推荐
2021-10-24
动态参数+reduce累加stream
通向面包的小路蜿蜒于劳动的沼泽之中,通向衣裳的小路从一块无花的土地中穿过,无论是通向面包的路还是通向衣裳的路,都是一段艰辛的历程。 ——福斯 今天有朋友问我,stream中如果要将一个User类中的username和id收集起来变成两个list怎么写,我说可以使用peek函数 1234567@Data@AllArgsConstructorstatic class User { private Long id; private Long groupId; private String username;} 就像这样: 1234567891011 // 用户列表 List<User> userList = Stream.iterate(1L, i -> ++i).map(id -> new User(id, 999L, Faker.instance().name().username())).limit(10).collect(Collectors.toList()); // 要收集起来...
2022-11-11
filterTree递归树过滤实现
二人同心,其利断金;同心之言,其臭如兰——《周易·系辞上》 引入依赖: 123456<!-- https://search.maven.org/artifact/io.github.vampireachao/stream-query --><dependency> <groupId>io.github.vampireachao</groupId> <artifactId>stream-core</artifactId> <version>${stream-query-version}</version></dependency> 使用: 1234567891011121314151617181920212223242526272829303132333435363738394041424344@Test void testFilterTree() { List<Student> studentTr...
2025-03-23
apache-shenyu插件配置规则处理杂谈
我去旅行,是因为我决定了要去,并不是因为对风景的兴趣。——马尔克斯的《霍乱时期的爱情》 这个issue: https://github.com/apache/shenyu/issues/5966 其中提到由于没有填写handler导致无法提交,于是先临时添加一个必填标识 https://github.com/apache/shenyu-dashboard/pull/525 这里发现有两个Handler的表单项,一眼看过去好像是个BUG,本来是打算合二为一,发现由于此处的设计是两个FormItem,删掉下面的Handler的label,会导致被删除的表单项往左偏移而对不齐 此处介绍一下两个都称之为Handle的表单项的区别,第一个是组件独特的表单项,例如request插件就是request对应的xxx.js,表单项里包含填写多个params、headers、cookies等,如果是其他组件则是填写其他的东西;第二个是在PluginTemplate动态配置出来的 目前的代码逻辑比较绕,大概介绍一下: src/routes/Plugin/Common/Rule.js是一个AddMo...
2020-07-23
mybatis中if-else
mybatis中if-else要用choose-when-otherwise 12345678<choose> <when test="page !=null and page.orderBy != null and page.orderBy != ''"> ORDER BY ${page.orderBy} </when> <otherwise> ORDER BY a.update_date DESC </otherwise></choose>
2021-10-22
ThreadLocal
只有利害关系和出众的才干,才能帮你出起主意来,才认真细到,眼光透彻。——巴尔扎克 我们在web开发中经常遇到在一个线程中需要共享变量 这里就可以使用ThreadLocal去完成 例如我们用户发起请求,我们在过滤器等将用户信息存储在ThreadLocal中,这样在代码中获取用户信息就相对容易 写法如下: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748import cn.hutool.core.lang.Opt;/** * 用户工具类 * * @author <achao1441470436@gmail.com> * @since 2021/8/25 12:10 */public class UserUtils { private static final ThreadLocal<UserDetail> USER_THREAD = new ThreadLocal<>(); /** ...
2021-01-16
spire.doc渲染pdf时富文本处理
不以一眚掩大德。——《左传》 使用spire.doc渲染富文本的话,可以使用Paragraph中的appendHTML()函数去渲染富文本,例如下面 1234567891011121314151617181920212223242526272829package com.ruben;import com.spire.doc.Document;import com.spire.doc.FileFormat;import com.spire.doc.documents.Paragraph;import java.time.LocalDateTime;import java.time.format.DateTimeFormatter;import java.util.Locale;/** * @ClassName: WordDemo * @Description: 我还没有写描述 * @Date: 2021/1/15 0015 20:31 * * * @author: <achao1441470436@gmail.com> * @version: 1.0 * @sinc...

阿超
我的名字叫阿超 年龄25岁 家在北京市 职业是软件开发 每天最晚也会在八点前回家 不抽烟 酒浅尝辄止 晚上十二点上床 保证睡足八个小时 睡前写一篇博客 再做二十分钟俯卧撑暖身 然后再睡觉 基本能熟睡到天亮 像婴儿一样不留下任何疲劳和压力 就这样迎来第二天的早晨 健康检查结果也显示我很正常 我想说明我是一个不论何时都追求内心平稳的人 不拘泥于胜负 不纠结于烦恼 不树立使我夜不能寐的敌人 这就是我在这社会的生活态度
Follow Me公告
This is my Blog