2011-11-11 98 views
0

我很抱歉,但它似乎是一個非常愚蠢的問題,但如果我有一個格式讓它成爲.epub例如,並希望建立一個類(C#類),可以讀取它,我應該怎樣做。我不是在談論某種格式或特定的語言,但我正在建立一個可以讀寫這種格式的接口。我猜COM對象應該這樣做,但我沒有處理它們,厭倦瞭解任何概念和技術,發現它與我的需求無關。預先感謝你,併爲此感到遺憾。問題閱讀某種格式

+0

一個扳手不建一輛車。同樣,(COM)組件不解析二進制數據。一個COM組件(或其他任何東西)_可以用來做_something_(例如,讀取二進制數據) – sehe

+1

接口應該是:YourClass Read(Stream inputStream); void Save(Stream outputStream,YourClass instance)' – Snowbear

+0

目前還不清楚以下幾方面:閱讀某種格式的「你想要的幫助,你想編寫一個類將數據寫入某種特殊格式,但你不想是時候瞭解這種格式的概念和技術? – StriplingWarrior

回答

1

如果你知道文件的格式,那麼你需要做的唯一具體的事情就是創建一個讀取/寫入該格式的類。不管你想要什麼類型的內部結構。

要編寫格式只需使用System.IO.FileStream和/或System.IO.StreamWriter。如果文件以十六進制數據表示,則使用BinaryReaderBinaryWriter

讀取/寫入文件的過程就是在讀取數據時將數據解析爲代碼的內部表示,所以您可以編輯它,然後根據文件格式規範寫出數據。

爲了以防萬一,以下是file formats上的鏈接。如果您有更具體的問題,可以詢問它,並且可以獲得更具體的幫助和/或示例。

編輯:

如果你正在尋找的EPUB規範是Here。恐怕您將不得不閱讀規範,以瞭解您打算創建類的任何文件格式,這可能很乏味。我最近不得不爲PDF文件做這件事。只要確保你能理解規範,看看例子,並在寫作/閱讀時嘗試不同的東西。這是你唯一能做的事情。

+0

非常感謝你,你給我非常重要的線索開始。當我完成調查和實驗時,我已經理解了現在,仍然有一些麻煩,我希望你在這裏幫助我。再次感謝你。 – user1041907