2012-08-08 80 views
2

可能重複:
FileStream Append Data at the top更改的FileStream的長度在C#

我有寫權限打開的文件流。 我想從流中'刪除'數據,但我無法找出如何。我需要一個解決方案,比如改變流的Length屬性。 有人有螞蟻的想法嗎?

+1

這不是當前建議副本的副本。 – user7116 2012-08-08 14:06:58

+0

@sixlettervariables:啊,等等,看起來你是對的。我誤解了這個問題,他們試圖在開始時插入數據。 – mellamokb 2012-08-08 14:09:40

+0

'刪除'到底? – 2012-08-08 14:19:35

回答

7

我認爲您正在尋找Stream.SetLength

如果指定的值小於當前流的長度,則流將被截斷。

+0

該死的我覺得愚蠢:)我看到一個只有一個getter的Length屬性,並且我從來沒有在c#中用這種方式看過使用setter方法...反正 - 非常感謝Jon,一如既往......;) – 2012-08-08 14:40:54

+1

@PiniSalim:我認爲Length不適合擁有二傳手。如果沒有其他的東西,我會發現它允許一個屬性setter被允許拋出一個'NotSupportedException'是非常不直觀的。 – Brian 2012-08-08 15:32:32

+0

位置已經這樣做(如果流無法搜索,則拋出NotSupportedException): https://msdn.microsoft.com/en-us/library/system.io.stream.position(v=vs.110)。 aspx 它不是屬性的原因是因爲屬性不應該用於潛在的「昂貴」操作。尋求速度很快,但設置文件的長度可能需要一段時間。 – 2017-02-07 10:34:36