ericqliu

路在奋斗者的脚下延伸......

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

测试代码 

 1         static void Main(string[] args)
 2         {
 3             FileStream stream = new FileStream("thumbs.db", FileMode.Open, FileAccess.Read);
 4             POIFSFileSystem poifs = new POIFSFileSystem(stream);
 5             var entries = poifs.Root.Entries;
 6             //POIFSDocumentReader catalogdr = poifs.CreatePOIFSDocumentReader("Catalog");
 7             //byte[] b1=new byte[catalogdr.Length-4];
 8             //catalogdr.Read(b1,4,b1.Length);
 9             //Dictionary<string, string> indexList = new Dictionary<string, string>();
10             //for (int j = 0; j < b1.Length; j++)
11             //
12             //    if(b1[0]
13             //}
14 
15             while (entries.MoveNext())
16             {
17                 DocumentNode entry = entries.Current as DocumentNode;
18                 DocumentInputStream dr = poifs.CreateDocumentInputStream(entry.Name);
19 
20                 if (entry.Name.ToLower() == "catalog")
21                     continue;
22 
23                 byte[] buffer = new byte[dr.Length];
24                 dr.Read(buffer);
25                 int startpos = 0;
26 
27                 //detect jfif header
28                 for (int i = 3; i < buffer.Length; i++)
29                 {
30                     if (buffer[i - 3] == 0xFF
31                         && buffer[i - 2] == 0xD8
32                         && buffer[i - 1] == 0xFF
33                         && buffer[i] == 0xE0)
34                     {
35                         startpos = i - 3;
36                         break;
37                     }
38                 }
39                 if (startpos == 0)
40                     continue;
41 
42                 FileStream jpeg = File.Create(entry.Name + ".jpeg");
43                 jpeg.Write(buffer, startpos, buffer.Length - startpos);
44                 jpeg.Close();
45             }
46 
47             stream.Close();
48         }

 测试代码

 

View Code
using System.IO;
using NPOI.HSSF.UserModel;
using NPOI.HPSF;
using NPOI.POIFS.FileSystem;
using NPOI.SS.UserModel;

 

posted on 2012-11-29 08:44  ericqliu  阅读(166)  评论(0)    收藏  举报