我知道这已经得到了解答,但我有类似的要求,所以我掀起了一些扩展方法来做到这一点 . 适用于Files,FileStreams,MemoryStreams和通用Streams . 仅读取验证文件类型所需的特定4个字节 . 非常高效,我能够在几秒钟内完成数千个文件 .

C#

public static class Dicom

{

public static bool IsDicomFile(this Stream s)

{

//Create an empty 4 byte array

byte[] dba = new byte[4];

//Seek to 0x80

s.Seek(128, SeekOrigin.Begin);

//Read the following 4 dba

s.Read(dba, 0, 4);

//Compare to 'DICM'

return dba.SequenceEqual(new byte[4] {68, 73, 67, 77});

}

public static bool IsDicomFile(this MemoryStream ms)

{

return ((Stream)ms).IsDicomFile();

}

public static bool IsDicomFile(this FileStream fs)

{

return ((Stream)fs).IsDicomFile();

}

public static bool IsDicomFile(this FileInfo fi)

{

return fi.OpenRead().IsDicomFile();

}

}

VB.NET

_

Public Function IsDicomFile(ByVal s As Stream) As Boolean

'Create an empty 4 byte array

Dim dba() As Byte = New Byte(3) {}

'Seek to 0x80

s.Seek(128, SeekOrigin.Begin)

'Read the subsequent 4 bytes

s.Read(dba, 0, 4)

'Compare to 'DICM'

Return dba.SequenceEqual(New Byte(3) {68, 73, 67, 77})

End Function

_

Public Function IsDicomFile(ByVal ms As MemoryStream) As Boolean

Return DirectCast(ms, Stream).IsDicomFile

End Function

_

Public Function IsDicomFile(ByVal fs As FileStream) As Boolean

Return DirectCast(fs, Stream).IsDicomFile

End Function

_

Public Function IsDicomFile(ByVal fi As FileInfo) As Boolean

Return fi.OpenRead().IsDicomFile

End Function

Java dicom查看_验证DICOM文件相关推荐

  1. java 队列复制_复制一个文件夹里的文件到另一个目录下 (使用队列的方法实现)...

    最近在由于准备实习,在学android,也会用到Java,所以想实现复制文件夹的功能,当然也参考了别人的代码.这里是我参考的网址:http://blog.csdn.net/etzmico/articl ...

  2. 诊断和响应故障_验证数据库文件和备份

    本章阐述如何检查数据库文件和备份的完整性. 1.RMAN验证概述 验证让你可以检查备份的完整性. 1.1.RMAN验证的目的 RMAN验证的主要目的是检查损坏块和缺失的文件.也可以使用RMAN确认备份 ...

  3. java heap 查看_使用VisualVM查看Java Heap Dump

    浏览Heap Dump 可以使用VisualVM浏览heap dump文件的内容,从而快速查看在堆中分配的对象.Heap dumps在主窗口的heap dump子标签页中显示.你可以打开保存在本地的h ...

  4. java perm 查看_高级 Java 必须掌握:JVM 分析工具和查看命令,超详细

    jinfo 可以输出并修改运行时的java 进程的opts. jps 与unix上的ps类似,用来显示本地的java进程,可以查看本地运行着几个java程序,并显示他们的进程号. jstat 一个极强 ...

  5. centos java 版本查看_查看CentOS版本信息

    查看CentOS版本信息 2017年09月19日 14:52:39 树上骑个猴 阅读数:37283 标签: Linux版本查看 更多 版权声明:本文为博主原创文章,未经博主允许不得转载. https: ...

  6. java蓝光_蓝光文件解析

    随着网络带宽.硬盘容量.屏幕分辨率等基础条件的提升,人们观影的要求也从标清.高清一路上升到4K.UHD. 蓝光影碟(BD Disc)是DVD的升级版,可以作为超高清影片的载体. 由于一些大家都懂的原因 ...

  7. java 防钓鱼_验证表单重复提交(防止钓鱼,密码加密,自定义标签,过滤器)...

    包含几种加密方法 package com.chinasofti.util.sec; import java.io.IOException; import java.io.UnsupportedEnco ...

  8. java ftl 标签_在FTL文件中使用自定义的Java方法

    在项目中使用FreeMarker做为Spring MVC中的视图文件,在展示List的时候,展示的对象中带有时间字段,但是此时间字段存的是整型的毫秒值,为了更好的展示给用户,必须要进行格式化. 但是F ...

  9. java csv 数组_使用csv文件的输入填充结构数组

    我必须阅读这种csv文件 565;4;6;8;11/10/2017;11:30 756;5;9;1;12/12/2017;10:40 765;-8;-2;-1;06/01/2018;23:23 我需要 ...

  10. java代码使用ImageJ解析dicom文件成图片

    ImageJ解析dicom文件成jpg图片 Dicom全称是医学数字图像与通讯,这里讲java解析diocm格式文件变成jpg示例. 这里的代码只能解析普通的dicom文件成jpg图片,对于压缩的di ...

最新文章

  1. Windows下Qt程序打包
  2. 计算机意外地重新启动或遇到错误。windows安装无法继续。若要安装windows 请单击 确定 重新启动计算机...
  3. Asp.Net SignalR 集线器不使用代理的实现
  4. GEO数据下载及处理详细过程
  5. [Intel Edison开发板] 04、Edison开发基于nodejs和redis的服务器搭建
  6. python 热力图_python数据分析:数据缺失机制及利用missingno库对缺失可视化
  7. 分布式光伏融资难点分析
  8. Linux的目录说明
  9. photoshop照片尺寸
  10. C语言编程软件的选择和下载
  11. Ubuntu64位系统下安装吉林大学校园网客户端
  12. mysql数据库服务器怎么打开_怎么启动mysql数据库服务器
  13. 目标级联分析法( Analytical Target Cascading , ATC )理论matlab程序
  14. Java入门第三天2-java循环嵌套
  15. [RK3288][Android6.0] USB OTG模式及切换
  16. 大数据基础之常用Linux命令
  17. 计算机网络课论文参考文献,计算机网络课程论文
  18. MySQL必知必会pdf网盘下载+每章总结
  19. 服务器修改raid,服务器配置RAID详细说明
  20. 蓝桥杯Python练习题16-最大最小公倍数

热门文章

  1. 三菱FX系列PLC-编程2
  2. 一米优店宝-淘宝店铺优化软件v1.0官方
  3. 方舟生存计划怎么删除服务器信息,方舟进化生存怎么删服务器存档
  4. ffmpeg下载视频
  5. 微信计步器怎么不计步_微信运动不计步,如何解决
  6. 10.【Axure 10 】菜单-文件-导入RP文件
  7. Axure RP 8文件按钮效果
  8. GIS专业/GIS方向需要考那些证书
  9. OGRE实现纸娃娃系统
  10. 经典的同态滤波算法的优化及其应用参数配置