不知道的文件格式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了不知道的文件格式相关的知识,希望对你有一定的参考价值。

大家帮个忙啊,老板给我一些文件后缀是"GER、DRP、YSR、DRL",找了好久没有找到是什么文件,大家帮帮忙啊,急~~~~~~告诉我可以另外加分/...
一楼的老大,你说什么啊,能不能明白点~~

http://www.moon-soft.com/program/FORMAT/
大哥看看这里面有没我真的想要你的分其实我都不知道这些格式但我尽力了
名称 大小 作者 描 述

位图文件内部初探 14K BMP、JPG等六种常用图形文件的结构(中文)
AI ai30.pdf 260K Adobe公司 Adobe Illustrator 3.0文件格式的英文说明书,Acrobat文档
BMP Graphics File Formats 47K Windows的.BMP .CUR .ICO文件的格式,有范例
BMP Format 38K Wim Wouters Windows的.BMP文件格式
BW BW FILE FORMATS 3K 黑白图象.BW文件格式
COL COL Format 3K Max Maischein 调色板文件格式
DWG DWG file format
12K Frans F. J. Faase AutoCAD DWG 文件格式说明(BFF 格式)
DXF Drawing Interchange and File Formats 87K Autodesk AutoCAD DXF 10.0版文件格式说明
Drawing Interchange and File Formats Release 12 141K Autodesk AutoCAD DXF 12.0版文件格式说明
dxf13.zip 143K Autodesk AutoCAD DXF 13.0版文件格式说明
Dxf_r14.hlp 202K Autodesk AutoCAD DXF 14.0版文件格式说明 (Windows Help格式)
dxf14htm.zip 161K Autodesk AutoCAD DXF 14.0版文件格式说明
EMF emf.hlp 74K Microsoft公司 Windows 32位扩展图元文件格式(HELP文档)
GIF GIF Graphics Interchange Format 30K CompuServe 公司 GIF87图象文件.GIF的格式
LZW and GIF explained-- Steve Blackstock 18K Steve Blackstock 解释LZW 和GIF
gif89a.doc 84K CompuServe 公司 GIF89图象文件英文说明文档(写字板文档)
ICO Ico.zip 115K Microsoft公司 图标文件(.ICO)文件格式详解(ZIP文档)
JPG jpg.rtf 16K Eric Hamilton .JPG图象文件格式英文技术文档(RTF文档)
jpg.pdf 94K Gregory K. Wallace .JPG图象文件的压缩标准(Acrobat文档)
MOV QuickTim.pdf 646K Apple公司 QuickTime动画文件格式(Acrobat文档)
PNG draft-bo.rtf 241K T. Boutell et al 网络图形格式说明
PCD A brief description of the Kodak PCD-format
6K Alex Kwak Kodak PhotoCD 格式 (RTF文档)
PCX PCX File Format 24K Zsoft 公司 .PCX图象文件格式技术手册
PIC PIC Format 5K Max Maischein Autodesk动画文件PIC文件格式
PSD psd.pdf 369K Adobe 公司 Photoshop 4.0文件.PSD文件格式的英文说明书(Acrobat文档)
ps_plug.pdf 378K Adobe 公司 Adobe Photoshop 3 插件格式(Acrobat文档)
REL rle.pdf 32K Spencer W. Thomas RLE 格式说明 (Acrobat文档)
TGA TGA FORMAT
46K David McDuffee Targa 图像文件格式说明
tga2.zip 55K Truevision公司 TGA 文件格式说明第二版(Acrobat PDF格式)
TIF tif.pdf 366K Aldus 公司 .TIF文件6.0格式英文说明书(Acrobat文档)
LZW LZW compression 7K Bob Montgomery 一个.GIF文件的常用压缩算法
YUV YUV4:1:1 4K Angus Dorbie YUV4:1:1文件格式
WMF .WMF Metafile Format 14K Microsoft公司 Windows95的.WMF文件格式

文件格式索引

声音和影像文件(sound)

CD CD-ROM Technical Summary 27K Andy Poggio CD数据设计详解
CDA CDA music tracks file format 3K Wojtek Kaniewski CD音轨文件格式介绍
MID Standard MIDI File Format 17K Dustin Caldwell 标准的MIDI文件.MID文件格式
MIDI 1.0 Specification 8K Greg MIDI1.0格式文件英文说明书
General MIDI Level Spec 13K Jeff Mallory MIDI文件格式综述
MIDI SAMPLE DUMP STANDARD 11K MIDI取样转存标准格式
MPEG mpeg.zip 574K MPEG文件格式的说明和范例,有大量C语言程序代码(ZIP文档)
mpeg1.zip 66K Fraunhofer Institute MPEG-1文件格式的范例,C语言程序代码(ZIP文档)
WAV wav.rtf 31K Robert Shuler Windows声音文件.WAV文件格式(RTF文档)
WAVE File Format 105K Microsoft公司 Windows声音文件.WAV文件格式
New WAVE Types 215K Microsoft公司 WAVE文件格式及压缩方法

文件格式索引

动画文件(animate)

3DS 3ds.rtf 77K Autodesk公司 3D Studio文件格式(RTF文档)
AVI avi.rtf 133K AVI动画文件格式(RTF文档)
aviwav.rtf 93K E. Fleischman AVI和WAV文件格式
CODE WAVE and AVI Codec Registries 85K E. Fleischman WAVE and AVI Codec 注册说明
FLC flc.rtf 56K Animator Pro 文件格式说明(FLC, FLI, CEL, PIC, MSK, COL, PLY, TWO, OPT) (RTF文档)
FLI Flic Files Format description 11K Mike Haaland FLI 文件格式说明
FLT FLC, FLT Format 20K Max Maischein Autodesk Animator FLC/FLT 文件格式说明
GIF gif89a.doc 84K CompuServe 公司 GIF89动画图象文件说明文档(写字板文档)
MOV QuickTim.pdf 646K Apple公司 QuickTime动画文件格式(Acrobat文档)
MPEG MPEG Video 4K Wilson Woo MPEG Video文件部分信息
mpegfaq.rtf 94K Chad Fogg MPEG-2文件技术问答集
PIC PIC Format 5K Max Maischein Autodesk动画文件PIC文件格式
YUV YUV4:1:1 4K Angus Dorbie YUV4:1:1文件格式

文件格式索引

压缩算法(compress)

ARC ARC PAK Format 5K Max Maischein ARC/PAK 文件格式说明
ARJ ARJ TECHNICAL INFORMATION 9K Robert Jung ARJ压缩文件英文技术文档
CAB cab.zip 44K Microsoft公司 .CAB文件格式及C语言源代码(ZIP文档)
TAR TAR Format 13K Max Maischein TAR Archive 文件格式说明
LZH
LZH Format 2K Max Maischein LZH Archive 文件格式说明
RAR RAR.rtf 15K Eugene Roshal RAR2.0版压缩文件格式
ZIP General Format of a ZIP file 47K PKWARE ZIP文件格式

文件格式索引

二进制格式(binary)

AOUT Architecture Dependent File Format 70K HP公司 Unix环境下的a.out文件格式
BGI bgi.rtf 71K Gene Lee BGI驱动程序C源代码 (不全)
BFF A grammar for Binary File Formats 8K 有关二进制文件格式的解说
COM COM Format 2K Max Maischein COM 文件格式说明
EXE DOS EXE File Structure 3K Microsoft公司 DOS环境下的.EXE文件格式
EXE Format 6K Max Maischein DOS环境下的.EXE文件格式
EXE Format
5K Max Maischein Windows和OS/2 的可执行文件(.EXE)格式
Executable File Format 27K Microsoft公司 Windows环境下的.EXE文件格式
HEX Intel Hexadecimal Object File Format Specification 18K Intel公司 Inter十六进制目标文件格式
HLP OS/2 HELP Format 2K Max Maischein OS/2操作系统的帮助文件格式
HPJ Hpj.doc 72K Microsoft公司 帮助的工程文件(.HPJ)文件格式(.DOC文档)
INF Windows95 INF files Format
3K Robert Rapp Windows95的.INF文件格式

LIB
libs.zip 5K Ian/TWT Library库结构
MS Library Format 6K Microsoft公司 Microsoft的库文件(.LIB)格式
Dictionary Hashing Algorithm 6K Microsoft公司 Microsoft库的字典所用的哈希算法
MAP Borland .MAP File Format 3K Brad Kimmel Borland公司的.MAP文件格式
OBJ objlib.rtf 111K DOS环境的EXE/COM/SYS/OBJ/LIB文件信息(RTF文档)
ssobj.zip 54K Microsoft公司 目标文件OBJ文件的说明书(ZIP文档)
PAS bpreal.zip 6K Richard Biffl Borland Pascal 实数存储格式和C代码
PE pe1.zip 65K Bernd Luevelsmeyer PE执行文件(Win 95/NT/WIN32)格式说明和查看程序(RTF文档)
winf10.pdf 392K Intel公司 PE执行文件和 STI (微软符号和类型信息) (Acrobat文档)
REG The .REG file format 13K Jeroen Mostert Windows注册表文件(.REG)格式
Windows Registry Files 24K Windows注册信息文件user.dat、system.dat 、CONFIG.POL文件格式
RES Win32 Resource File Format 18K Marco Cocco Win32的资源文件格式

文件格式索引

Windows格式(Windows)

ANI Windows95 Animated Cursor File Format 4K R. James Houghtaling Windows95的动画鼠标文件格式
BMP BMP Format 38K Wim Wouters BMP文件格式
CAB cab.zip 44K Microsoft公司 .CAB文件格式及C语言源代码(ZIP文档)
CAL .CAL Calendar File Format 7K Microsoft公司 Windows31日历文件格式
CLP .CLP Clipboard File Format 3K Microsoft公司 Windows31剪贴板文件格式
CRD Cardfile File Format Microsoft公司 Windows31卡片文件格式
FIND Windows 95 Find File Format Edward Blake Windows95查找文件格式
GRP Group File Format Microsoft公司 Windows程序组文件格式
HLP Windows Help File Format 61K M. Winterhoff Windows帮助文件(.HLP)文件格式
HPJ Hpj.doc 72K Microsoft公司 帮助的工程文件(.HPJ)文件格式(.DOC文档)

ICO
Icons in Win32 35K Microsoft公司 Win32中的图标文件
Ico.zip 115K Microsoft公司 图标文件(.ICO)文件格式详解(ZIP文档)
INF Windows95 INF files Format
3K Robert Rapp Windows95的.INF文件格式
LNK .LNK file format 7K Donald Murray Windows95的.LNK文件格式
REG The .REG file format 13K Jeroen Mostert Windows注册表文件(.REG)格式
Windows Registry Files 24K Windows注册信息文件user.dat、system.dat 、CONFIG.POL文件格式
RES Win32 Resource File Format 18K Marco Cocco Win32的资源文件格式
REL rle.pdf 32K Spencer W. Thomas RLE 格式说明 (Acrobat)
RTF RTF文件结构分析及其应用
9K 邱立铭 王键 Windows的一种文本格式(中文)
SCR Windows .SCR screen savers 2K Paul Oliver Windows95的屏幕保护文件格式
TTF ttfspec1.zip 753K Microsoft公司 Windows字体文件(.TTF1.0)文件资料(ZIP文档)
ttfspec2.zip 502K Microsoft公司 Windows字体文件(.TTF)格式详解(ZIP文档)
WAV wav.rtf 31K Robert Shuler Windows声音文件.WAV文件格式(RTF文档)
WAVE File Format 105K Microsoft公司 Windows声音文件.WAV文件格式
New WAVE Types 215K Microsoft公司 WAVE文件格式及压缩方法
WRI Write File Format 24K Microsoft公司 Windows31的写字板文件格式
WMF .WMF Metafile Format 14K Microsoft公司 Windows95的.WMF文件格式
How does Windows 95 stores LONG FILENAMES? 4K Jozsef Hidasi 有关Windows95长文件名的文章

文件格式索引

文本及字体文件(Text&Font)

Acorn Font File Format 10K Acorn字体格式介绍
EPS adobe_EPSF1_2.pdf 13K Adobe 公司 Encapsulated Postscript Version 1.2 (Acrobat)
adobe_EPSF2_0.pdf 43K Adobe 公司 Encapsulated Postscript Version 2.0 (Acrobat)
adobe_EPSF3_0.pdf 128K Adobe 公司 Encapsulated Postscript Version 3.0 (Acrobat)
FONT Font-File Format 20K Microsoft公司 Windows31字体文件格式
RTF rtf.zip 148K Microsoft公司 RTF文件格式说明书和范例(ZIP文档)
rtf.rtf 159K Microsoft公司 RTF文件格式说明书补充(RTF文档)
Wordper-
fect Wordperfect File Format 4K Max Maischein Wordperfect文件格式部分叙述
WRI Write File Format 24K Microsoft公司 Windows31的写字板文件格式
WordStar WordStar File Format Release 7.0 57K WordStar7.0版本文件格式
WORD word60.rtf 464K Microsoft公司 WORD6.0文件格式,非常详细(RTF文档)
MS Word 97 Binary File Format 464K Microsoft公司 WORD 97(8.0)文件格式
TTF ttfspec1.zip 753K Microsoft公司 Windows字体文件(.TTF1.0)文件资料(ZIP文档)
ttfspec2.zip 502K Microsoft公司 Windows字体文件(.TTF)格式详解(ZIP文档)

文件格式索引

Internet文件(Internet)

BBS bbs.htm 14K F.W. van Wensveen Hudson message base 文件原代码(C语言代码)

VRML VRML2.hlp 182K VRML2.0说明书(Help文档)

Vrml.rtf 71K Anthony Parisi VRML1.0详解(RTF文档)
URL The URL format 2K Edward Blake URL文件格式说明
IDX IDX Outlook Express (IE4) Index File Format 4K Edward Blake IE4.0的索引文件.IDX文件格式
AGENT agentref.zip 11K Ray Delio Agent新闻组程序数据格式
UUENCODE UUENCODE 12K Jim Cameron UU-encoded 格式说明
Bluewave Blue Wave Mail Packet File Structures 49K George Hatchew 蓝波快信的各种文件的格式说明

文件格式索引

数据库文件(Database)

Clarion clarion.zip 33K Jerzy Tarasiuk Clarion文件格式,包括 .DAT/.K??/.I??/.MEM/.HLP/.APP文件(ZIP文档)
DBF DBASE FLIE FORMAT 7K multisoft Dbase数据库文件.DBF文件格式
DBF FILE STRUCTURE 4K Peter Mikalajunas .DBF文件格式,适用于 dBASE III/dBASE IV/Foxbase/Foxpro
NTX NTX file format 13K Cesar A. Gil Clipper NTX 文件格式说明
PARADOX paradox.rtf 62K Kevin Mitchell PARADOX4.0文件格式(RTF文档)
WKS wks.zip 22K Lotus公司 Lotus的 .WKS文件格式(ZIP文档)
XLS xls.txt 45K EXCEL文件格式(文本文档)

文件格式索引

其他格式(Other)

INTEL Intel.rtf 131K 有关Intel8086/80186/80286/80386/80486指令的详细解说(RTF文档)
Epson escode.rtf 50K Epson公司 Epson 9针和24针打印机控制代码(RTF文档)
joystick joystick.rtf 15K 有关游戏操作杆编程的文章(RTF文档)
keyboard keyboard.rtf 15K 有关键盘编程的文章(RTF文档)
mouse mouse.rtf 16K 有关鼠标编程的文章(RTF文档)
HP pcl5.zip 93K HP公司 HP PCL5打印机控制 (RTF文档)
speaker speaker.rtf 17K 有关PC喇叭编程的文章(RTF文档)
VGA VGA Bios layout 32K 有关VGA BIOS编程的文章(RTF文档)
参考技术A 文件扩展名解析大全

遇见陌生的文件扩展名时,来这看看吧

有时会碰到不知如何打开陌生扩展名的文件,上查扩展名的网站可以解决问题,不过全是E文而且麻烦,下面是一些常见的文件扩展名及说明,值得珍藏,以后就用ctrl+f 查吧:)

A 对象代码库文件
AAM Authorware shocked文件
AAS Authorware shocked包
ABF Adobe二进制屏幕字体
ABK CorelDRAW自动备份文件
ABS 该类文件有时用于指示一个摘要(就像在一篇有关科学方面的文章的一个摘要或概要,取自abstract)
ACE Ace压缩档案格式
ACL CorelDRAW 6键盘快捷键文件
ACM Windows系统目录文件
ACP Microsoft office助手预览文件
ACR 美国放射医学大学文件格式
ACT Microsoft office助手文件
ACV OS/2的驱动程序,用于压缩或解压缩音频数据
AD After Dark屏幕保护程序
ADA Ada源文件(非-GNAT)
ADB Ada源文件主体(GNAT);HP100LX组织者的约定数据库
ADD OS/2用于引导过程的适配器驱动程序
ADF Amiga磁盘文件
ADI AutoCAD设备无关二进制绘图仪格式
ADM After Dark多模块屏幕保护;Windows NT策略模板
ADP FaxWork用于传真调制解调器的交互安装文件;Astound Dynamite文件
ADR After Dark随机屏幕保护;Smart Address的地址簿
ADS Ada源文件说明书(GNAT)
AFM Adobe的字体尺度
AF2,AF3 ABC的FlowChat文件
AI Adobe Illustrator格式图形
AIF,AIFF 音频互交换文件,Silicon Graphic and Macintosh应用程序的声音格式
AIFC 压缩AIF
AIM AOL即时信息传送
AIS ACDSee图形序列文件;Velvet Studio设备文件
AKW RoboHELP的帮助工程中所有A-关键词
ALAW 欧洲电话音频格式
ALB JASC Image Commander相册
ALL 艺术与书信库
AMS Velvet Studio音乐模块(MOD)文件;Extreme的Tracker模块文件
ANC Canon Computer的调色板文件,包含一系列可选的颜色板
ANI Windows系统中的动画光标
ANS ANSI文本文件
ANT SimAnt For Windows中保存的游戏文件
API Adobe Acrobat使用的应用程序设计接口文件
APR Lotus Approach 97文件
APS Microsoft Visual C++文件
ARC LH ARC的压缩档案文件
ARI Aristotle声音文件
ARJ Robert Jung ARJ压缩包文件
ART Xara Studio绘画文件;Canon Crayola美术文件;Clip Art文件格式;另一种光线跟踪格式;AOL使用的用Johnson―Grace压缩算法压缩的

标记文件
ASA Microsoft Visual InterDev文件
ASC ASCⅡ文本文件;PGP算法加密文件
ASD Microsoft Word的自动保存文件;Microsoft高级流媒体格式(microsoft advanced streaming FORMat,ASF)的描述文件;可用NSREX打

开 Velvet Studio例子文件
ASE Velvet Studio采样文件
ASF Microsoft高级流媒体格式文件
ASM 汇编语言源文件,Pro/E装配文件
ASO Astound Dynamite对象文件
ASP 动态网页文件;ProComm Plus安装与连接脚本文件;Astound介绍文件
AST Astound多媒体文件;ClarisWorks“助手”文件
ASV DataCAD自动保存文件
ASX Cheyenne备份脚本文件;Microsoft高级流媒体重定向器文件,视频文件
ATT AT< Group 4位图文件
ATW 来自个人软件的Any Time Deluxe For Windows个人信息管理员文件
AU Sun/NeXT/DEC/UNIX声音文件;音频U-Law(读作“mu-law”)文件格式
AVB Computer Associates Inoculan反病毒软件的病毒感染后文件
AVI Microsoft Audio Video Interleave电影格式
AVR Audio Visual Research文件格式
AVS 应用程序可视化格式
AWD FaxVien文档
AWR Telsis数字储存音频文件扩展名格式
Axx ARJ压缩文件的分包序号文件,用于将一个大文件压至几个小的压缩包中(xx取01-99的数字)
A3L Authorware 3.x库文件
A4L Authorware 4.x库文件
A5L Authorware 5.x库文件
A3M,A4M Authorware Macintosh未打包文件
A4P Authorware无运行时间的打包文件
A3W,A4W,A5W 未打包的Authorware Windows文件
BAK 备份文件
BAS BASIC源文件
BAT 批处理文件
BDF West Point Bridger Designer文件
BFC Windows 95 Briefcase文档
BG Backgammon For Windows下的游戏文件
BGL Microsoft Flight Simulator(微软飞行模拟器)的视景文件
BI 二进制文件
BIF Group Wise的初始化文件
BIFF XLIFE 3D格式文件
BIN 二进制文件
BK,BK$ 有时用于代表备份版本
BKS IBM BookManager Read书架文件
BMK 书签文件
BMP Windows或OS/2位图文件
BMI Apogee BioMenace数据文件
BOOK Adobe FrameMaker Book文件
BOX Lotus Notes的邮箱文件
BPL Borlard Delph 4打包库
BQY BrioQuery文件
BRX 用于查看多媒体对象目录的文件
BSC MS Developer Studio浏览器信息文件
BSP Quake图形文件
BS1 Apogee Blake Stone数据文件
BS_ Microsoft Bookshelf Find菜单外壳扩展名
BTM Norton 应用程序使用的批处理文件
BUD Quicken的备份磁盘
BUN CakeWalk 声音捆绑文件(一种MIDI程序)
BW SGI黑白图像文件
BWV 商业波形文件
BYU BYU的电影文件格式
B4 Helix Nuts and Bolts文件
C C代码文件
C0l 台风波形文件
CAB Microsoft压缩档案文件
CAD Softdek的Drafix CAD文件
CAL CALS压缩位图;日历计划表数据
CAM Casio照相机格式
CAP 压缩音乐文件格式
CAS 逗号分开的ASCⅡ文件
CAT Quicken使用 的IntellCharge分类文件
CB Microsoft干净引导文件
CBI 二进制卷格式文件(用于IBM大型机系统)
CC Visual dBASE用户自定义类文件
CCA cc:邮件文件
CCB Visual Basic动态按钮配置文件
CCF 多媒体查看器配置文件,用于OS/2
CCH Corel图表文件
CCM Lotus cc:邮箱(例如“INBOX.CCM”)
CCO CyberChat数据文件
CCT Macromedia Director Shockwave投影
CDA CD音频轨道
CDF Microsoft频道定义格式文件
CDI Philip的高密盘交互格式
CDM Visual dBASE自定义数据模块文件
CDR CorelDRAW绘图文件;原始音频CD数据文件
CDT CorelDRAW模板
CDX CorelDRAW压缩绘图文件;Microsoft Visual FoxPro索引文件
CEL CIMFast事件语言文件
CER 证书文件(MIME x-x509-ca-cert)
CFB Compton的多媒文件
CFG 配置文件
CFM CotdFusion模板文件;Visual dBASE Windows用户定制表单
CGI 公共网关接口脚本文件
CGM 计算机图形元文件
CH OS/2配置文件
CHK 由Windows磁盘碎片整理器或磁盘扫描保存的文件碎片
CHM 编译过的html文件
CHR 字符集(字体文件)
CHP Ventura Publisher章节文件
CHT ChartViem文件;Harvard Graphics矢量文件
CIF Adaptec CD 创建器 CD映像文件
CIL Clip Gallery下载包
CIM SimCity 2000文件
CIN OS/2改变控制文件用于跟踪INI文件中的变化
CK1 iD/Apogee Commander Keen 1数据文件
CK2 iD/Apogee Commander Keen 2数据文件
CK3 iD/Apogee Commander Keen 3数据文件
CK4 iD /Apogee Commander Keen 4数据文件
CK5 iD /Apogee Commander Keen 5数据文件
CK6 iD /Apogee Commander Keen 6数据文件
CLASS Java类文件
CLL Crick Software Clicker文件
CLP Windows 剪贴板文件
CLS Visual Basic类文件
CMD Windows NT,OS/2的命令文件;DOS CD/M命令文件;dBASEⅡ程序文件
CMF Corel元文件
CMG Chessmaster保存的游戏文件
CMP JPEG位图文件;地址文档
CMV Corel Move动画文件
CMX Corel Presentation Exchange图像
CNF Telnet,Windows和其他其内格式会发生改变的应用程序使用的配置文件
CNM Windows应用程序菜单选项和安装文件
CNQ Compuworks Design Shop文件
CNT Windows(或其他)系统用于帮助索引或其他目的内容文件
COB TrueSpace 2对象文件
COD Microsoft C编译器产生的可显示机器码/汇编代码文件,其中附有源C代码作为注释
COM 命令文件(程序)
CPD Corel Print Office文件(图形)
CPD,CPE 传真覆盖文档
CPI Microsoft MS-DOS代码页信息文件
CPL 控制面板扩展名,Corel颜色板
CPO Corel打印存储文件
CPP C++代码文件
CPR Corel提供说明书文件
CPT Corel 照片-绘画图像
CPX Corel Presentation Exchange压缩图形文件
CRD Windows Cardfile文件
CRP Corel 提供的运行时介绍文件;Visual dBASE自定义报表文件
CRT 认证文件
CSC Corel脚本文件
CSP PC Emcee On_Screen图像
CSS 瀑布式表格文件
CST Macromedia Director Cast文件
CSV 逗号分隔的值文件
CT Scitex CT位图文件;Paint Shop Pro Grapic编辑器文件
CTL 通常用于表示一个包含控件信息的文件;FaxWork用它来保持有关每个传真收到或发出的信息
CUE Microsoft提示牌数据文件
CUR Windows光标文件
CUT Dr Halo位图文件
CV Corel版本的档案文件;Microsoft CodeView信息屏幕文件
CWK ClarisWorks数据文件.
CWS ClarisWorks模块
CXT Macromedia Director受保护的(不可编辑的)投影文件
CXX C++源代码文件
DAT 数据文件;WrodPerfect合并数据文件;用于一些MPEG格式的文件
DB Borland的Paradox 7表
DBC Microsoft Visual FoxPro数据库容器文件
DBF dBASE文件,一种由Ashton-Tate创建的格式,可以被ACT!、Lipper、FoxPro、Arago、Wordtech、Xbase和类似数据库或与数据库有关产品

识别;可用数据文件(能被Excel 97打开);Oracle 8.1.x表格空间文件
DBX DataBearn图像;Microsoft Visual FoxPro表格文件
DCM DCM模块格式文件
DCR 冲击波文件
DCS 桌面颜色分隔文件
DCT Microsoft Visual FoxPro数据库容器
DCU Delphi编译单元文件
DCX Microsoft Visual FoxPro数据库容器;基于PCX的传真图像;宏
DC5 DataCAD绘图文件
DDF Btrieve或Xtrieve数据定义文件,它包含用于描述Btrieve或Xtrieve文件的元数据
DDIF Digital Equipment或 Compaq格式,用于保存他们图像与字处理文档
DEF SmartWareⅡ数据文件;C++模块定义文件
DEFI Oracle 7 卸载脚本文件
DEM 用于表示数字高度模型的USGS基准的文件
DER 认证文件
DEWF Macintosh Sound Cap/Sound Edit录音设备格式
DGN Macintosh 95 CAD绘图文件
DIB 设备无关位图
DIC 目录
DIF 可进行数据互换的电子表格
DIG DigiLink格式;Sound DesignerⅠ音频文件
DIR MacromediaDirector文件
DIZ 描述文件
DLG C++对话框脚本文件
DLL 动态链接库
DLS 可下载声音文件
DMD Visual dBASE数据模块文件
DMF X-Trakker音乐模块(MOD)文件
DOC FrameMaker或FrameBuilder文档;Word Star文档、Word Perfect文档、Microsoft Word文档;DisplayWrite文档
DOT Microsoft Word文档模板
DPL Borland Delph3压缩库
DPR Borland Delphi工程头文件
DRAW Acorn的基于对象的矢量图像文件
DRV 驱动程序
DRW Micrografx Designer/Draw;Pro/E绘画文件
DSF Micrografx Designer VFX文件
DSG DOOM保存的文件
DSM Dynamic Studio音乐模块(MOD)文件
DSP Microsoft Developer Studio工程文件
DSQ Corel QUERY(查询)文件
DST 刺绣机图形文件
DSW Microsoft Developer Studio工作区文件
DTA Word Bank(世界银行)的STARS数据文件
DTD SGML文档类型定义(DTD)文件
DTED 地面高度数字数据(图形的数据格式)文件
DTF Symantec Q&A相关的数据库数据文件
DTM DigiTrakker模块文件
DUN Microsoft拔号网络导出文件
DV 数字视频文件(MIME)
DWD DiamondWare数字化文件
DWG AutoCAD工程图文件;AutoCAD或Generic CADD老版本的绘图格式
DXF 可进行互交换的绘图文件格式,二进制的DWG格式的文本表示;数据交换文件
DXR Macromedia Director受保护(不可编辑)电影文件
D64 Commodore的64位模拟磁盘图像文件
EDA Ensoniq ASR磁盘映像
EDD 元素定义文档(FrameMaker+SGML文档)
EDE Ensoniq EPS磁盘映像
EDK Ensoniq KT磁盘映像
EDQ Ensoniq SQ1/SQ2/Ks32磁盘映像
EDS Ensoniq SQ80磁盘映像
EDV Ensoniq VFX-SD磁盘映像
EFA Ensoniq ASR文件
EFE Ensoniq EPS文件
EFK Ensoniq KT文件
EFQ Ensoniq SQ1/SQ2/Ks32文件
EFS Ensoniq SQ80文件
EFV Ensoniq VFX-SD文件
EMD ABT扩展模块
EMF Windows增强元文件
EML Microsoft Outlook Express邮件消息(MIME RTC822)文件
ENC 重演文件
ENFF 中性文件格式扩展名
EPHTML Perl解释增强HTML文件
EPS 压缩的PostScript图像
EPSF 压缩的PostScript文件
ERI ERWin文件
ERR 当RobooHELP帮助编译器企图编译一个帮助系统源文件时用来存储错误消息的文件
EPX ERWin文件
ESPS ESPS音频文件
EUI Ensoniq ESP家族的压缩磁盘映像
EVY 特使文档
EWL Microsoft Encarta文档
EXC Microsoft Word禁止字字典
EXE 可执行文件(程序)
F FORTRAN文件
F2R Farandoyle线性模块格式
F3R Farandoyle分块线性模块格式
F77 FORTRAN文件
F90 FORTRAN文件
FAR Fradole Composer音乐模块(MOD)文件
FAV Microsoft Outlook导航条
FAX 传真类型图像
FBK Navison 金融备份
FCD 虚拟CD-ROM
FDB Navison 金融数据库
FDF Adobe Acrobat表单文档文件
FEM CADRE有限元素网络文件
FFA,FFL,FFO,FFK Microsoft快速查找文件
FFF GUS PnP银行文件格式
FFT 最终格式文本(IBM的DCA一部分)
FH3 Aldus Freehand 3绘图文件
FIF Fractal图像文件
FIG REND386/AVRIL使用的文件格式
FITS CCD照相机图像;灵活图像传输系统
FLA Macromedia Flash电影
FLC Autodesk FLIC动画文件
FLF Corel Paradox产生的格式:Navison Financials许可文件;OS/2驱动程序文件
PLI Autodesk FLIC动画
FLT StarTrekker音乐模块(MOD)文件;MultiGen Inc的Open Flight使用的文件格式;Corel过滤器文件
FM Adobe FrameMaker文档
FMB Oracle4.0版或以后版本表单的二进制源代码文件
FML 文件镜象列表(GetRight)
FMT Oracle 4.0版或以后版本表单的文本格式;Microsoft Schedule+ 打印文件
FMX Oracle 4.0版或以后版本可执行表单
FND Microsoft Explorer保存的搜索文件(Find applet)
FNG 字体组文件(字体导航器,Font Navigator)
FNK Funk Tracker模块格式
FOG Fontographer模块字体
FON 系统字体
FOR FORTRAN文件
FOT 字体相关文件
FP FileMaker Pro文件
FP1 Flying Pigs for Windows数据文件
FP3 FileMaker Pro文件
FPT FileMaker Pro文件;Microsoft Fox Pro备注字体文件
FPX FlashPix位图
FRM 表单;Frame Maker或Frame Builder文档;Oracle可执行表(3.0版或早期版本);Visual Basic表单;WordPerfect Merge表单;DataCAD标

志报表文件
FRT Microsoft FoxPro报表文件
FRX Visual Basic表单文本;Microsoft FoxPro报表文件
FSF fPrint Audit Tool文件格式
FSL Borland的Paradox 7表单;Corel Paradox保存的表单
FSM Parandoyle示例格式
FT Lotus Notes全文本索引
FTG 全文本搜索组文件,由Windows帮助系统查找时产生――可以删除,并在需要时重建起来
FTS 全文本搜索引文件,由Windows帮助系统查找时产生
FW2 Framework Ⅱ文件
FW3 Framework Ⅲ文件
FW4 Framework Ⅳ文件
FXP 经Microsoft FoxPro编译的源文件
FZB Casio FZ-1银行转储
FZF Casio FZ-1完全转储
FZV Casio FZ-1声音转储
G721 Raw CCITT G.721 $bit ADPCM格式数据
G723 Raw CCITT G.723 3或5bit ADPCM格式数据
GAL Corel多媒体管理器相集
GCD Generic CADD绘画文件(后续版本)
GCP Ground Control Point(地面控制点)文件,用于远景数据形成图像过程,经常用于生成图工程―CHIPS(copenhagen image processing

system)使用这些文件
GDB InterBase数据库文件
GDM 铃声、口哨声和声音板模块格式
GED GEDCOM 系谱数据文件,用于记录和交换系谱数据的流行格式;图形环境文档绘画
GEM GEM元文件
GEN Ventura产生的文本文件
GetRight GetRight未完成的下载文件
GFC Patton&Patton FlowCharting 4 flowchart文件
GFI,GFX Genigraphics图形链接表示文件
GHO Norton 克隆磁盘映像
GID Windows 95全局索引文件(包括帮助状态)
GIF CompuServe位图文件
GIM,GIX Genigraphics图形链接介绍文件
GKH Ensoniq EPS家簇磁盘映像文件
GKS Gravis Grip Key文档
GL 动画格式
GNA Genigraphics图形链接介绍文件
GNT 生成代码,Micro Focus属性格式里的可执行代码
GNX Genigraphics图形链接介绍文件
GRA Microsoft Graph文件
GRD 用于远程视景数据产生地图过程的格式文件,通常应用于形成地图工程―CHIPS(copenhagen image processing system)使用这些文件
GRF Grapher(Golden Software公司)图形文件
GRP 程序管理组
GSM Raw GSM 6.10音频流;Raw“byte aligned(比特对齐的)” GSM 6.10音频流;US Robotics语音调制解调器
GTK Graoumftracker(老)音乐模块(MOD)文件
GT2 Graoumftracker(新)音乐模块(MOD)文件
GWX,GWZ Cenigraphis图形链接介绍文件
GZ UNIX gzip压缩文件
H C程序头文件
HCM IBM HCM配置文件
HCOM 声音工具HCOM格式
HCR IBM HCD/HCM产品配置文件
HDF 高级计算机应用程序本地中心(NCSA) geospatial Hierarchial数据格式文件
HED HighEdit文档
HEL Microsoft Hellbender格式保存的游戏文件
HEX Macintosh BinHex2.0文件
HGL HP图形语言绘图文件
HH 映射文件,包括一些话题ID和在帮助文件系统中话题的映射数字―允许运行中应用程序发送给用户合适的上下文帮助话题
HLP 帮助文件;Date CAD Windows帮助文件
HOG Lucas Arts的Dark Forces WAD文件
HPJ Visual Basic帮助工程
HPP C++程序头文件
HQX Macintosh BinHex 4.0文件
HST 历史文件
HT HyperTerminal(超级终端)
HTM,HTML 超文本文档
HTT Microsoft超文本模板
HTX 扩展HTML模板
HXM Descent2 HAM文件扩展
ICA Citrix文件
ICB Targa位图文件
ICC Kodak打印机格式文件
ICL 图标库文件
ICM 图形颜色匹配配置文件
ICO Windows图标
IDB MSDev中间层文件
IDD MIDI设备定义
IDF MIDI设备定义(Windows 95需要的文件)
IDQ Internet数据查询文件
IDX Microsoft FoxPro相关数据库索引文件;Symantec Q&A相关数据库索引文件;Microsoft Outlook Express文件
IFF 交换格式文件;Amiga ILBM
IGES 初始图形交换说明文件
IGF 插入系统元文件
IIF QuickBooks for Windows交换文件
ILBM 位图图形文件
IMA WinImage磁盘映像文件
IMG GEM映像
IMZ WinImage压缩磁盘映像文件
INC 汇编语言或动态服务器包含文件
INF 信息文件
INI 初始化文件;MWave DSP Synth的“nwsynth.ini” GMS安装;Cravis Ultrasound bank安装
INP Oracle 3.0版或早期版本的表单源代码
INRS INRS远程通信声频
INS InstallShield安装脚本;X-Internet签字文件;Ensoniq EPS字簇设备;Cell/ⅡMAC/PC抽样设备
INT 中间代码,当一个源程序经过语法检查后编译产生一个可执行代码
IOF Findit文档
IQY Microsoft Internet查询文件
ISO 根据ISD 9660有关CD-ROM文件系统标准列出CD-ROM上的文件
ISP X-Internet签字文件
IST 数字跟踪设备文件
ISU InstallShield卸装脚本
IT 脉冲跟踪系统音乐模块(MOD)文件
ITI 脉冲跟踪系统设备
ITS 脉冲跟踪系统抽样,Internet文档位置
IV Open Inventor中使用的文件格式
IVD 超过20/20微观数据维数或变量等级文件
IVP 超过20/20的用户子集配置文件
IVT 超过20/20表或集合数据文件
IVX 超过20/20微数据目录文件
IW Idlewild屏幕保护程序
IWC Install Watch文档
J62 Ricoh照相机格式
JAR Java档案文件(一种用于applet和相关文件的压缩文件)
JAVA Java源文件
JBF Paint Shop Pro图像浏览文件
JFF,JFIF,JIF JPEG文件
JMP SAS的JMPDiscovery表格统计文件
JN1 Epic MegaGames的Jill of the Jungle数据文件
JPE,JPEG,JPG JPEG图形文件
JS javascript源文件
JSP HTML网页,其中包含有对一个Java servlet的参考
JTF JPEG位图文件
K25 Kurzweil 2500抽样文件
KAR 卡拉OK MIDI文件(文本+MIDI)
KDC Kodak光增强器
KEY DataCAD图标工具条文件
KFX KoFak Group 4图像文件
KIZ Kodak数字明信片文件
KKW RoboHELP帮助工程索引设计器中与主题无关的K开头的所有关键字
KMP Korg Trinity KeyMap文件
KQP Konica照相机本地文件
KR1 Kurzweil 2000抽样(多软驱)文件
KRZ Kurzweil 2000抽样文件
KSF Korg Trinity抽样文件
KYE Kye游戏数据
LAB Visual dBASE标签文件
LBM Deluxe Paint位图文件
LBT,LBX Microsoft FoxPro标签文件
LDB Microsoft Access加锁文件
LDL Corel Paradox分发库
LEG Legacy文档
LES Logitech娱乐系统游戏配置文件(与REC文件一样)
LFT 3D Studio(DOS)放样文件
LGO Paintbrush(Microsoft画图应用程序)的徽标文件
LHA LZH更换文件后缀
LIB 库文件
LIN DataCAD线型文件
LIS 结构化查询报告(SQR)程序产生的输出文件
LLX Laplink交换代理
LNK Windows快捷方式文件
LOG 日志文件
LPD Helix Nut和Bolt文件
LRC Intel可视电话文件
LSL Corel Paradox保存的库文件
LSP AutoLISP、CommonLISP和其他LISP语言文件
LST 列表文件
LU ThoughtWing库单元文件
LVL Parallax Software的 Miner Descent/D2 Level扩展
LWLO Lightwave分层对象文件
LWOB Lightwave对象文件
LWP Lotus WordPro 96/97文件
LWSC Lightwave视景文件
LYR DataCAD层文件
LZH LH ARC压缩档案
LZS Skyroads数据文件
M1V MPEG相关文件(MIME“mpeg”类型)
M3D Corel Motion 3D动画文件
M3U MPEG URL(MIME声音文件)
MAC MacPaint图像文件
MAD Microsoft Access模块文件
MAF Microsoft Access表单文件
MAG 在一些日本文件中发现的图形文件格式
MAGIC 魔力邮件监视器配置文件
MAK Visual Basil或Microsoft Visual C++工程文件
MAM Microsoft Access宏
MAN UNIX手册页输出
MAP 映射文件;Duke Nukem 3D WAD游戏文件
MAQ Microsoft Access查询文件
MAR Microsoft Access报表文件
MAS Lotus Freelance Graphics Smart Master文件
MAT Microsoft Access表;3D Studio MAX材料库
MAUD MAUD抽样格式
MAX Kinetx的3DStudio MAX文件;该格式用于一个3D场景文件;Paperport文件;OrCAD设计文件
MAZ Hover迷路数据;Division的dVS/dVISE使用的文件格式
MB1 Apogee Monster Bash数据文件
MBOX Berkeley Unix邮箱格式
MBX Microsoft Outlook保存email格式;Eudora邮箱
MCC Dailerl0呼叫卡
MCP Metrowerks CodeWarrior工程文件
MCR DataCAD键盘宏文件
MCW Microsoft Word的Macintosh文档
MDA Microsoft Access内抽入器;Microsoft Access 2.0版及其后续版本的工作组事件
MDB Microsoft Access数据库
MDE Microsoft Access MDE文件
MDL 数字跟踪器音乐模块(MOD)文件;Quake模 块文件
MDN Microsoft Access空数据库模板
MDW Microsoft Access工作组文件
MDZ Microsoft Access向导模板文件
MED 音乐编辑器,OctaMED音乐模块(MOD)文件
MER 电子表格/数据库数据交换格式;FileMaker、Excel及其他软件能识别
MET 表示管理器元文件
MFG Pro/ENGINEER制造文件
MGF 在材料与几何学里的文件格式
MHTM,MHTML MHTML文档(MIME)
MI 杂项
MIC Microsoft Image Composer文件
MID MIDI音乐
MIF Adobe FramMaker交换格式
MIFF 与机器无关格式文件
MIM,MIME,MME

Internet邮件扩展格式的多用途文件,经常作为发送e-mail时在AOL里附件而创建的文件;在一个多区MIM文件里的文件能用WinZip或其他类似

程序打开
MLI 3D Studio的材料库格式文件
MMF Meal Master格式;一个处方类格式;Microsoft邮件文件
MMG 超过20/20表或集会数据文件
MMM Microsoft多媒体电影
MMP Mindmapor Mind Manager文件
MN2 Descent2任务文件
MND,MNI Mandelbort for Windows
MNG 多映像网络图形
MNT,MNX Microsoft FoxPro菜单文件
MNU Visual dBASE菜单文件;Intertel Systems Interact菜单文件
MOD Fast Tracker、Star Trekker、Noise Tracker(等等)音乐模块文件;Microsoft多计划电子表格;Amiga/PC磁道文件
MOV QuickTime for Windows电影
MP2 第二层MPEG音频文件
MP3 第三层MPEG音频文件
MPA MPEG相关文件,MIME“mpeg类型”
MPE,MPEG,MPG MPEG动画文件
MPP Microsoft工程文件;CAD绘图文件格式
M本回答被提问者采纳
参考技术B YSR

不知道Java类文件结构的同学,看这篇文章就够了

  一、前言

  代码编译的结果从本地机器码转变为字节码,是存储格式发展的一小步,却是编程语言发展的一大步。经过多年的发展,目前的计算机仍然只能识别0和1,但是由于近10年内虚拟机以及大量建立在虚拟机之上的程序语言如雨后春笋般出现并蓬勃发展,将我们编写的程序编译成二进制本地机器码(Native Code)已不再是唯一的选择,越来越多的程序语言选择了操作系统和机器指令集无关的、平台中立的格式作为程序编译后的存储格式。

  二、class类文件结构

  Class文件是一组以8位字节为基础单位的二进制流,各项数据严格的按照顺序紧凑的地排列在Class文件中,中间没有添加任何分隔符,这使得整个Class文件中存储的内容几乎全部是程序运行的必要数据,没有空隙存在。当遇到需要占用8个字节以上空间的数据项时,则会按照高位在前的方式分割成若干个8位字节进行存储。

  根据Java虚拟机规范的规定,Class文件格式采用一种类似于C语言结构体的伪结构来存储数据,这种伪结构中只有两种数据类型L:无符号和表,后面的解析都要以这两种数据类型为基础,所以这里先介绍这两个概念;无符号属于基本数据类型,以u1,u2,u4,u8来分别代表1个字节,2个字节,4个字节和8个字节的无符号数,无符号数可以用来描述数字、索引引用、数量或者按照utf-8编码构成字符串值。表是由多个无符号或者其他表作为数据项构成的复合数据类型,所有表都习惯性地以“_info”结尾。表用于描述有层次关系的复合结构的数据,整个Class文件本质上就是一张表,他由一下表格中的数据项构成:

技术图片

  无论是无符号数还是表,当需要描述同一类型但数量不定的多个数据时,经常会使用一个前置的容量计数器加若干个连续的数据项的形式,这是称这一系列连续的某一类型的数据为某一类型的集合。

  三、魔数和Class文件的版本

  每个Class文件的头4个字节称为魔数(Magic Number),它的唯一作用是确定这个文件是否为一个能被虚拟机接受的Calss文件。很多文件存储标准中都使用魔数来进行身份识别,使用魔数而不是使用拓展名来进行识别主要是基于安全方面的考虑,因为文件的拓展名可以随意的改动。Class文集爱你的魔数值为“0xCAFEBABE”,这个魔数值在Java还称为“Oak”的时候就已经确定下来了。

  紧接着摸数的4个字节存储的是Class文件的版本号:第5和第6个字节是次版本号,第7和第8个字节是主版本号。Java版本号是从45开始的。JDK1.1之后的每一个JDK大版本发布主版本号向上加1,高版本的JDK能向下兼容以前的版本的Class文件,但是不能运行以后的版本的Class文件,即使文件格式并没有发生任何变化,虚拟机也必须拒绝执行超过其版本号的Class文件。

  四、常量池

  在主版本和次版本之后的是常量池的入口,由于常量池的中常量数量是不固定的,所以常量池的入口通常需要放置一个常量池容量计数器,计数器是从1开始而不是从0开始,其目的是为了在特殊情况下表达“不引用任何常量池的项目”的情况。

  常量池是Class文件中与其他项目关联最多的数据类型,也是占用Class文件空间最大的数据项目之一。常量池的常量的类型分为:字面量和符号引用。字面量比较接近Java层面的常量的概念,比如文本字符串“abc”,被声声明卫final的常量等。符号引用属于编译原理的概念,包括以下3个方面:

  1. 类和接口的全限定名,比如: java.lang.String
  2. 字段的名称的描述符,比如private,static等
  3. 方法的名称和描述符,比如private,static等描述

  常量池中每一个常量都是一个表,在jdk1.7后提供了14种表结构,他们都有一个共同的特点,就是表开始第一个位置是一个u1类型的标志位,代表当前的常量是属于哪一种类型的。如下表:

  技术图片

  五、访问标志

  常量池结束后就是访问标志(access_flag)了,用于标识一些类或接口的访问信息,比如这个Class是类还是接口,是public还是private,是否为abstract等,每种访问信息都是由一个16进制的标志值表示,如果同时表示多种访问信息,则得到的标志值为这几种访问信息的逻辑或,其标志位和含义如下表:

标志名称
标志值

含义
ACC_PUBLIC 0X0001 是否为public类型
ACC_FINAL 0X0010
是否被声明为final,只有类可以设置
ACC_SUPER 0X0020 是否允许使用invokespecial字节码指令的新语意,invokespecial指令的语意在JDK1.0.2发生过改变,为了区别这条指令使用哪种语意,JDK1.0.2之后编译
ACC_INTERFACE 0X0200 标志这是一个接口
ACC_ABSTRACT 0X0400 是否为abstract类型,对于接口或者抽象类来说,此标志值为真,其他类为假
ACC_SYNTHETIC 0X1000 标志这个类并非由用户代码产生的
ACC_ANNOTATION
0X2000
标志这是一个注解
ACC_ENUM 0X4000 标志这是一个枚举

  六、类索引(this_class)、父类索引(super_class)、接口索引(interfaces)

  类索引和父类索引都是一个u2的类型,而接口索引是一个u2类的数据集合,Class中由这三项数据来确定类的继承关系。类索引、父类索引和接口索引集合都是有序的排列在访问标识之后,类索引和父类索引两个u2类型的索引值表示,他们各自指向一个类型为COMNSTANT_Class_info的类描述符常量,通过该常量的索引值找到定义在COMNSTANT_Utf8_info类型的常量中的全限定名字符串,而接口索引集合用来描述这个类实现了哪些接口,这些被实现的接口按implements语句后的接口顺序从左往右排列在接口集合中。

  七、字段表集合(fileds)

  字段表(field_info)用于描述类或者接口中声明的变量。字段包括了类级别变量和实例变量,但是不包括声明在方法中的变量。字段的名称,类型和修饰符等都是无法固定的,只能引用常量池中的常量来描述,可以包括的信息有:

  1. 字段的作用域,如public,private等修饰符。
  2. 示例变量还是类变量,如static修饰符。
  3. 可变性,final修饰符
  4. 并发可见性,volatile修饰符。
  5. 可否被序列化,transient修饰符。
  6. 字段数据类型,基本数据类型,数组,引用类型等。
  7. 字段名称

  字段表结构如下:

类型 名称 数量
u2 access_flags 1
u2 name_index 1
u2 descriptor_index 1
u2 attribute_count 1
attribute_info attributes attribute_count

  其中的access_flags与类中的access_flags非常类似,表示数据类型的修饰符,比如public,private,protected等,后面的name_index和descriptor_index都是对常量池的引用,分别表示字段的简单名称以及字段和方法的描述符。描述符的作用是用来描述字段的类型,方法的参数列表和返回值,根据描述符的规则,详细的描述符含义如下:

技术图片

  对于数组类型,每一个维度都将使用一个前置的“[”字符来描述,如一个整数数组int[] 将被记录为 "[I",二维整数数组int[][] 记录为 "[[I"。而对于对于一个对象类型比如 String[] 数组,将被记录为 "[Ljava/lang/String"。用方法描述符描述方法时,先按照方法参数的顺序,然后再返回值的顺序来描述,比如 int get(String name,int[] index,int i,char c)方法的描述符为 "(Ljava/lang/String[IIC)I"。字段表都包含的固定的数据项在descriptor_index为止,不过在descriptor_index后是一个属性表集合,用于存储一些额外的信息。

  八、方法表集合(methods)

  放发表(method_info)的结构与属性表的就够相同,方法里的Java代码经过编译器编译后编程字节码指令,然后存放在方法属性表的一个名为“Code”的属性里,关于属性表的项目,同样会在后面跟进行详细的介绍。

  与字段表集合相对应,如果父类方法在子类中没有被覆盖,方法表中就不会出现父类的方法的信息,但同样,有可能会出现会出现由编译器自动添加的方法,最典型的就是类构造器“<cinit>”方法和实例狗构造器"<init>"方法。

  在Java语言中,要重载一个方法,除了要方法与原方法的简单名称一样之外,还必须要求拥有一个与原方法不同的特征签名,特诊签名就是一个方法中各个参数在常量池中字段符号引用的集合,但是返回值不包含在特征签名中,因此Java语言中想要覆盖一个方法的话,如果是返回值不同是无法覆盖的。

  方法表的结构:

技术图片

  方法访问标志:

技术图片

  九、属性表集合(attributes)

  在Class文件,字段表和方法表中都可以携带自己的属性表集合,用于描述某些场景下专有的信息。属性表集合没有那么严格的限定,不再要求各个属性表具有严格的顺序,并且只要不予已有的属性表的名字重复,任何人实现的编译器都可以想属性表中写入自己定义的属性信息,但Java虚拟机在运行时会忽略掉它不认识的属性。Java虚拟机规范中预定义了9中虚拟机应当被识别的属性(jdk1.5后又增加了一些新的特性),如下表:

  技术图片

  对于每个属性,它的名称都需要从常量池中引用的一个CONSTANT_Utf8_info类型的常量来表示,每个属性值的结构完全可以自定义,只需说明属性值所需暂用的位数长度即可,一个符合规范的属性表至少应具备attribute_name_info”、“attribute_length”和至少一项信息属性。

  1)Code属性

  前面已经提到过,Java程序的方法体中的代码经过编译器编译后,生成的字节码指令会存储在Code属性中,但并非所有的方法表都有属性表,比如抽象类和接口中可能不存在属性表。属性表的结构如下如所示:

  技术图片

  attribute_name_index是一项指向CONSTANT_Utf8_info型常量的索引,常量固定值为 "Code",它代表了该属性的名称。attribute_length表示属性值的长度,由于属性名称索引与属性长度一共是6个字节,所以属性值长度为整个属性表长度减去 6个字节。

  max_stack代表操作数栈的最大深度,max_locals代表了局部变量表所需要的空间,它的单位为slot。

  code_length和code是用来存储Java源程序编译后生成的字节码指令。code用于存储字节码指令的一些列字节流,它是u1类型的单字节,因此取值范围为0x00到0xFF,那么一共可以存储256条指令,目前,Java虚拟机规范中已经定义了200条指令。code_length为u4类型,理论上可以达到2^32-1,但是虚拟机中明确的规定了一个方法不允许超过65525条字节码指令,如果超过了这个数值,编译器将拒绝编译。

  字节码指令之后是这个方法显示处理的异常表集合(exception_table),对于属性表来说这个属性不是必须存在的,它的格式如下表所示:

  技术图片

  它包含四个字段,这些字段的含义是如果字节从 start_pc 到 end_pc 行之间(不含end_pc)出现了 catch_pc类型或者它的子类类型的异常(catch_type为指向一个CONSTANT_Class_info型常量的索引),则转到第handler_pc行继续处理,当catch_pc为0时,代表任何的异常都要转到handler_pc行进行处理。异常表实际上的Java代码的一部分,编译器使用异常表而不是简单地使用跳转的命令来实现Java的异常即finally处理机制,也因此,finally里面的代码内容会在try或catch中的return语句调用之前调用。

  2)Exception属性

  这里的Exception属性的作用是列举出方法中可能会出现的受检查异常,也就是方法描述是throws关键字后面列举的异常,它的结构很简单,只有attribute_name_index、attribute_length、number_of_exceptions、exception_index_table四项。

  3)LineNumberTable属性

      它用于描述Java源码行号与字节码行号之间的对应关系。

      4)LocalVariableTable属性

     它用于描述栈帧中局部变量表中的变量与Java源码中定义的变量之间的对应关系。

     5)SourceFile属性

     它用于记录生成这个Class文件的源码文件名称。

     6)ConstantValue属性

  ConstantValue属性的作用是通知虚拟机自动为静态变量赋值,只有被static修饰的变量才可以使用这项属性,在Java中对非static属性的赋值是在构造器中完成的,而对于类变量,则有两种方法可以选择,在类构造器赋值,或者在ConstantValue属性赋值。

  7)InnerClasses属性

     该属性用于记录内部类与宿主类之间的关联。如果一个类中定义了内部类,那么编译器将会为它及它所包含的内部类生成InnerClasses属性。

     8)Deprecated属性和Synthetic属性

     该属性用于表示某个类、字段和方法,已经被程序作者定为不再推荐使用,它可以通过在代码中使用@Deprecated注释进行设置。

     9)Synthetic属性

     该属性代表此字段或方法并不是Java源代码直接生成的,而是由编译器自行添加的,如this字段和实例构造器、类构造器等。

 

  参考资料: 《深入理解Java虚拟机-JVM高级特性与最佳实践》 -周志明

 

  Java虚拟机相关系列博客推荐:

  1、深入理解java虚拟机之java内存区域   

  2、深入理解java虚拟机之对象真的死了吗    

  3、Java垃圾收集算法 

  4、深入理解java虚拟机之垃圾收集器

  

以上是关于不知道的文件格式的主要内容,如果未能解决你的问题,请参考以下文章

img.gz映象文件,但不知道img.gz是啥格式,如何解压?

Java IO读取txt文件乱码。前提不知道文档是啥编码格式

求教,下载的LUA格式脚本文件怎样用到游戏里。

怎么把html的格式文件转化为word

怎样将arcgis里面的shp文件转化成mapgis的点线面格式?我用mapgis的文件转化根本不管用?知道的告诉一下

EDI 格式