在windows中,有一种很常见的文件——快捷方式。点击一下就可以跳转到指定的位置,可以是网址,也可以是文件目录,也可以是某个文件。

其中,跳转到网页的是url快捷方式,默认的后缀名是".url",只是被系统隐藏了。可以调出来。

跳转到文件,文件夹的是lnk快捷方式。默认的后缀名是".lnk",也一样被系统隐藏了。可以调出来。

于是,可以通过后缀名的方式判断文件是否是一个快捷方式。

而我要说的是另一种方法。

先说lnk快捷方式,lnk文件在定义的时候,是有一定的标准的。其文件头固定值为一个数字,十六进制——4c

十进制——76。

所以,也可以通过io流来判断,只是,io流,或许消耗资源高,以下是方法:

/*** @param file* @return 是否是lnk文件格式*/public static boolean isInkFile(File file){BufferedInputStream bis = null;InputStream is = null;int firstInt = 0;try {is = new FileInputStream(file);bis = new BufferedInputStream(is);firstInt = bis.read();} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}if (firstInt == 0x4c) {//76,L,代表lnk文件格式return true;}return false;}

而通过后缀名来判断,需要忽略大小写,考虑使用正则表达式:]

/*** @param filePath* @return*/public static boolean isEndWithWithLnk(String filePath){Pattern p = Pattern.compile("\\.(?i)lnk");//忽略大小写Matcher m = p.matcher(filePath.substring(filePath.length()-4));return m.find();}

这样做有个缺点,检测到的快捷方式不一定是标准的快捷方式。
windows 可能就是通过后缀名判断的,当将一个txt文件的后缀改为lnk后,就直接有小箭头图标了。

java判断文件是否是一个lnk快捷方式相关推荐

  1. java判断文件夹下是否存在文件_java 判断文件夹是否存在文件

    java 判断文件夹是否存在文件 1.首先使用File类创建一个File对象: 2.然后判断是否是目录,不是目录就返回 3.之后使用file.list()方法获取目录下文件并存入数组 4.最后判断数组 ...

  2. java判断文件是否图片_java怎么判断文件是否是图片

    java判断文件是否是图片的方法: 1.通过判断文件后缀名String extension = ""; int i = fileName.lastIndexOf('.'); if ...

  3. Java判断文件夹是否存在,不存在则新建

    1.Java判断是否存在文件夹,不存在则新建 File file = new File("D:/test/filetest/test.txt"); if (!file.getPar ...

  4. java判断文件夹中的图片是否重复

    java判断文件夹中的图片是否重复 直接上代码 package com.example.common; import java.io.File; import java.io.FileInputStr ...

  5. java 判断文件的类型,用java流方式判断文件类型

    这个方法只能在有限的范围内有效.并不是万金油 比如 图片类型判断,音频文件格式判断,视频文件格式判断等这种肯定是2进制且专业性很强的文件类型判断. 下面给出完整版代码 首先是文件类型枚取 packag ...

  6. java判断文件编码是UTF-8还是UTF-8(BOM)还是其他编码

    java判断文件编码是UTF-8还是UTF-8(BOM)还是其他编码 final String filePath = "C:\\Users\\小太阳\\Desktop\\java\\2021 ...

  7. java 判断文件是否打开过_【后端开发】Java中如何判断文件是否被隐藏?(代码示例)...

    在Java中我们可以使用File类的isHidden()方法来判断指定文件是否被隐藏:下面本篇文章就来带大家认识一下isHidden()方法,了解如何使用isHidden()方法来判断文件是否被隐藏, ...

  8. java判断文件写完_Java_判断文件是否写入完成

    /** * 等待文件(非目录)读写完毕,费时的操作,不要放在主线程 * * @param file 文件 */ private void waitForWirtenCompleted(File fil ...

  9. java判断文件结束_关于java读取文件时,如何判断读取文件是否到达末尾?

    一.前言 java读取文件时,如果到达文件末尾,再进行读取时会发生异常,所以我们需要判断读取文件已经到达末尾.对于文件读取我们通常会采用不同的读取方式,如用InputStream流读取字节流.用Rea ...

最新文章

  1. RESTful之视图集ViewSet
  2. @RequestParam和@RequestBody的区别 (结合 Get/Post )
  3. web.xml文件报红,怎么解决???
  4. 带宽测量:带宽测量工具下载
  5. spring cloud(二)
  6. CVPR2019| 最新CVPR2019论文:含目标检测、分割、深度学习、GAN等领域
  7. Android:获取最近打开app列表
  8. c语言课程设计作业五子棋,C语言课程设计报告五子棋游戏课程设计
  9. 【最强大脑】天才数学家陶哲轩亲授25条职业建议
  10. 阿里云企业邮箱哪个代理商好
  11. 计算机显卡设置方法,显卡在哪里设置 显卡设置方法【详细介绍】
  12. 卡耐基《人性的弱点》精华总结
  13. 读书笔记—水煮三国(纪念版)
  14. Java项目:JSP网上鞋子商城网站
  15. 投票系统 简易js刷票脚本
  16. 愿我们历尽千帆,归来仍是少年
  17. 教程:Python Open3d 完成 ICP 点云配准
  18. 计算机的正确配置文件,详解使用最近一次的正确配置的具体步骤
  19. 【项目总结】stm32红外循迹蓝牙超声波小车
  20. 基于springboot的校园二手网站

热门文章

  1. 页面传值、plusready、自定义事件
  2. fgo服务器维护抽卡,fgo抽卡机制讲解 fgo卡池概率分析
  3. angular 数组操作
  4. vscode资源管理器中调整字体大小的方法
  5. 单片机编程里offh什么意思_单片机内部数据储存地址中的00H 和0FH,FFH代表什么意思。。。F 和0是什么...
  6. 牛客练习赛79 A- 炼金术师 题解 【贪心】
  7. unity之关于角色三连击
  8. 蚁群算法MATLAB程序
  9. Unity3D如何脚本修改预制体并保存
  10. Android虚拟按键栏处理方案