java判断文件是否是一个lnk快捷方式
在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快捷方式相关推荐
- java判断文件夹下是否存在文件_java 判断文件夹是否存在文件
java 判断文件夹是否存在文件 1.首先使用File类创建一个File对象: 2.然后判断是否是目录,不是目录就返回 3.之后使用file.list()方法获取目录下文件并存入数组 4.最后判断数组 ...
- java判断文件是否图片_java怎么判断文件是否是图片
java判断文件是否是图片的方法: 1.通过判断文件后缀名String extension = ""; int i = fileName.lastIndexOf('.'); if ...
- Java判断文件夹是否存在,不存在则新建
1.Java判断是否存在文件夹,不存在则新建 File file = new File("D:/test/filetest/test.txt"); if (!file.getPar ...
- java判断文件夹中的图片是否重复
java判断文件夹中的图片是否重复 直接上代码 package com.example.common; import java.io.File; import java.io.FileInputStr ...
- java 判断文件的类型,用java流方式判断文件类型
这个方法只能在有限的范围内有效.并不是万金油 比如 图片类型判断,音频文件格式判断,视频文件格式判断等这种肯定是2进制且专业性很强的文件类型判断. 下面给出完整版代码 首先是文件类型枚取 packag ...
- java判断文件编码是UTF-8还是UTF-8(BOM)还是其他编码
java判断文件编码是UTF-8还是UTF-8(BOM)还是其他编码 final String filePath = "C:\\Users\\小太阳\\Desktop\\java\\2021 ...
- java 判断文件是否打开过_【后端开发】Java中如何判断文件是否被隐藏?(代码示例)...
在Java中我们可以使用File类的isHidden()方法来判断指定文件是否被隐藏:下面本篇文章就来带大家认识一下isHidden()方法,了解如何使用isHidden()方法来判断文件是否被隐藏, ...
- java判断文件写完_Java_判断文件是否写入完成
/** * 等待文件(非目录)读写完毕,费时的操作,不要放在主线程 * * @param file 文件 */ private void waitForWirtenCompleted(File fil ...
- java判断文件结束_关于java读取文件时,如何判断读取文件是否到达末尾?
一.前言 java读取文件时,如果到达文件末尾,再进行读取时会发生异常,所以我们需要判断读取文件已经到达末尾.对于文件读取我们通常会采用不同的读取方式,如用InputStream流读取字节流.用Rea ...
最新文章
- RESTful之视图集ViewSet
- @RequestParam和@RequestBody的区别 (结合 Get/Post )
- web.xml文件报红,怎么解决???
- 带宽测量:带宽测量工具下载
- spring cloud(二)
- CVPR2019| 最新CVPR2019论文:含目标检测、分割、深度学习、GAN等领域
- Android:获取最近打开app列表
- c语言课程设计作业五子棋,C语言课程设计报告五子棋游戏课程设计
- 【最强大脑】天才数学家陶哲轩亲授25条职业建议
- 阿里云企业邮箱哪个代理商好
- 计算机显卡设置方法,显卡在哪里设置 显卡设置方法【详细介绍】
- 卡耐基《人性的弱点》精华总结
- 读书笔记—水煮三国(纪念版)
- Java项目:JSP网上鞋子商城网站
- 投票系统 简易js刷票脚本
- 愿我们历尽千帆,归来仍是少年
- 教程:Python Open3d 完成 ICP 点云配准
- 计算机的正确配置文件,详解使用最近一次的正确配置的具体步骤
- 【项目总结】stm32红外循迹蓝牙超声波小车
- 基于springboot的校园二手网站