2016-04-04 22 views
-5

我如何分配屬性System.IO.FileInfo.Length屬性或索引器'System.IO.FileInfo.Length'不能被分配給 - 它是隻讀的

FileInfo.Length Property

它是隻讀的!

+2

爲什麼你需要? FileInfo類存在用於_getting文件信息_的目的,而不是操縱它。 - 所以答案是:你不能。你必須爲此創建自己的班級。 –

+0

我該怎麼寫這個課程? – MoonLight

+1

['FileStream.SetLength'](https://msdn.microsoft.com/library/system.io.filestream.setlength.aspx) – PetSerAl

回答

5

FileInfo.Length用於獲取文件的大小,只有這樣,才能改變文件大小是通過改變它的內容

+9

@MoonLight:但他是對的。現在你只是忘恩負義。它是隻讀的。你不能改變它。期。我仍然想知道你爲什麼需要這樣做。 –

+1

@MoonLight - 我不明白 - 刪除「讓其他人回答」答案的目的是什麼?它沒有任何意義,特別是如果它是正確的 – Krease

1

如果你想以編程方式設置文件的大小,你會寫東西它。最簡單的方法可能是隻填充零。

public void writeEmptyFile(string path, int size) 
{ 
    using(FileStream fs = new FileStream(path, System.IO.FileMode.Append, System.IO.FileAccess.ReadWrite)) 
    { 
     fs.Write(new byte[size], 0, size); 
    } 
} 

此方法將或者A)寫包含空字節的新文件(該文件將具有指定大小),或B)如果path已存在的文件時,它會附加指定的量的空字節到該文件,增加它的大小。

相關問題