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
相关推荐
2024-09-07
springboot单向推送给客户端SseEmitter
教育人就是要培养他对自己有更严格的要求。——苏霍姆林斯基 SseEmitter 是 Spring Framework 提供的一个类,用于处理服务器向客户端推送事件(Server-Sent Events, SSE)的功能。与 WebSocket 不同,SSE 是单向的,服务器可以推送数据到客户端,但客户端不能推送数据到服务器。SSE 适用于场景包括实时消息通知、进度更新、数据流推送等。Spring Boot 中通过 SseEmitter 实现 SSE 通信简单且高效。 Spring Boot 中的 SseEmitter 提供了一种轻量级的方式来向前端推送实时数据,它通过标准的 HTTP 协议工作,兼容性广泛且易于使用。 SseEmitter 的主要特点: 轻量级:基于 HTTP 协议,兼容性好,不需要复杂的配置。 单向推送:服务器向客户端推送数据,适合需要实时更新的场景。 长连接:通过持续连接,避免频繁的轮询操作。 官方文档、GitHub地址 官方文档:Spring SseEmitter Documentation GitHub 仓库:Spring Framework...
2021-04-03
mybatis-plus逻辑删除简单实现
1 人生不是一支短短的烛炬,而是一只由我们暂时拿着的火把;我们一要把它燃得十分光明辉煌,然后交给下一代的人们。——(英)萧伯纳 mybatis-plus配置逻辑删除 我们可以在配置文件中配置 12345mybatis-plus: global-config: db-config: logic-delete-value: 1 # 逻辑已删除值(默认为 1) logic-not-delete-value: 0 # 逻辑未删除值(默认为 0) 然后在pojo的删除字段属性加一个@TableLogic注解 然后我们启动测试类 12345@Testpublic void deleteTest() { List<Film> films = filmMapper.selectList(Wrappers.lambdaQuery(Film.builder().build()).last("LIMIT 1")); films.stream().findFirst().map(Film::getFilmId)...
2021-04-06
阿里云镜像快速构建springboot
智者弃短取长,以致其功。——《后汉书·王符传》 我们创建springboot项目时如果使用原来的https://start.spring.io构建会很慢 这里我们可以使用阿里云的脚手架地址 1https://start.aliyun.com 我们照常输入项目组和名称 下一步后我们发现除了自带的starter我们还可以选阿里巴巴的 非常实用
2022-06-07
类型描述符
我知道你愚蠢轻佻、头脑空虚,然而我爱你;我知道你的企图你的理想,你的势力,你的庸俗,然而我爱你;我知道你是个二流货色,然而我爱你。——毛姆 见: https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html#jvms-4.2.1 在java中,由于历史原因,出现在类文件结构中的二进制名称语法与我们常用的类名不同,通常使用(正斜杠)/替换了原本的包名间隔(句号). 例如Thread的类名叫java.lang.Thread,但是在class文件格式的描述符中使用的内部格式,对Thread类名称utf8的引用却是:java/lang/Thread 不信我们随便打开一个class文件 可以看到类似的描述符 那如何获取类的描述符呢?它的规则又是如何呢? 首先,基本类型描述符,都是以ASCII字符表示,例如L 正斜杠类名;表示对象类型,[表示数组类型 我们可以在sun.invoke.util.Wra...
2023-01-29
jackson序列化时区问题
念人之过必忘人之功——佚名 今天发现返回给前端的Date和数据库中查到的时间对不上 排查发现是Jackson指定时区问题,原先用的GMT+8,但数据库是Asia/Shanghai 123ObjectMapper shanghaiObjectMapper = new ObjectMapper() .setTimeZone(TimeZone.getTimeZone("Asia/Shanghai")) .setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")); 引用:https://alphahinex.github.io/2021/10/31/difference-between-gmt-plus-8-and-asia-shanghai/ 里面提到的 GMT+8 和 Asia/Shanghai 的区别 GMT+8 因为没有位置信息,所以无法使用夏令时 Asia/Shanghai 使用夏令时 时间戳字符串中不包含时区...
2020-07-27
jenkins配置Maven
下载Maven 3.6.3并且上传到centos7 123456#解压tar -zxvf apache-maven-3.6.3-bin.tar.gz #建立目录mkdir /opt/maven#移动mv apache-maven-3.6.3/* /opt/maven/ 最后就是这样 配置环境变量 1234567vim /etc/profile#到最下面追加环境变量export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdkexport MAVEN_HOME=/opt/mavenexport PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin#使环境变量生效source /etc/profile 最后输入 12#查看maven版本mvn -version 就是这个样子 我们回到Jenkins 找到Global Tool Configuration 开始配置JDK 配置Maven 然后保存,到我们的系统配置 配置jenkins用到的环境变量 123456JAVA_HOME/usr/lib/jvm/...

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