我想快速創建一個具有指定大小的tempFile,並且內容不重要,我只是希望操作系統給文件留出足夠的空間,以便其他文件不能保存在磁盤中。 我知道一件名爲「SparseFile」的東西,但我不知道如何創建一個。 謝謝。如何在C#中快速創建TempFile?
回答
Like FileStream.SetLength?
http://msdn.microsoft.com/en-us/library/system.io.filestream.setlength.aspx
using System;
using System.IO;
using System.Text;
class Test
{
public static void Main()
{
string path = @"c:\temp\MyTest.txt";
// Delete the file if it exists.
if (File.Exists(path))
{
File.Delete(path);
}
//Create the file.
DateTime start = DateTime.Now;
using (FileStream fs = File.Create(path))
{
fs.SetLength(1024*1024*1024);
}
TimeSpan elapsed = DateTime.Now - start;
Console.WriteLine(@"FileStream SetLength took: {0} to complete", elapsed.ToString());
}
}
下面是一個運行示例,展示如何迅速此操作執行:
C:\temp>dir
Volume in drive C has no label.
Volume Serial Number is 7448-F891
Directory of C:\temp
06/17/2011 08:09 AM <DIR> .
06/17/2011 08:09 AM <DIR> ..
06/17/2011 08:07 AM 5,120 ConsoleApplication1.exe
1 File(s) 5,120 bytes
2 Dir(s) 142,110,666,752 bytes free
C:\temp>ConsoleApplication1.exe
FileStream SetLength took: 00:00:00.0060006 to complete
C:\temp>dir
Volume in drive C has no label.
Volume Serial Number is 7448-F891
Directory of C:\temp
06/17/2011 08:09 AM <DIR> .
06/17/2011 08:09 AM <DIR> ..
06/17/2011 08:07 AM 5,120 ConsoleApplication1.exe
06/17/2011 08:09 AM 1,073,741,824 MyTest.txt
2 File(s) 1,073,746,944 bytes
2 Dir(s) 141,033,644,032 bytes free
謝謝,如果磁盤格式不是NTFS,我該怎麼辦? – wbpmrck 2011-06-15 04:44:55
@wbpmrck - 看,如果你期望好的答案,請提供更多的細節。你期望我和其他人猜測你有什麼系統嗎?你意識到並非所有的文件系統都支持稀疏文件,對吧? – 2011-06-15 05:24:32
稀疏文件可能不是你想要的在這裏,稀疏文件中的歸零孔實際上不會被分配到磁盤上,因此不會阻止該驅動器填滿其他數據。
請參閱this question的答案,以便快速創建大文件(其中最好的方法與holtavolt的建議FileStream.SetLength
相同)。
確實。您可以輕鬆地在20 GB硬盤上創建十幾個「空白」10 GB稀疏文件 - 這將查找每個磁盤使用情況分析工具的統計信息。 – springy76 2011-09-21 21:35:26
- 1. 如何快速用C創建陣列++
- 2. 如何在C中快速創建大文件?
- 3. 快速創建data.frame
- 4. 快速創建JavaMail
- 5. 從tempfile創建和讀取
- 6. Visual C++ 2008快速創建庫
- 7. 如何快速創建數百場
- 8. 如何快速創建一個servlet
- 9. 如何快速創建子查詢
- 10. 如何快速創建ip範圍?
- 11. 如何創建WordPress快速入門包?
- 12. 如何快速創建新行
- 13. Ruby:如何快速創建attr_accessor
- 14. 如何快速創建大型PDF
- 15. 如何快速創建索引?
- 16. 如何創建快速const正確的緩衝包裝類C++?
- 17. 在C#中快速創建一個二叉樹
- 18. 如何快速定位在UIKit中創建的控件?
- 19. 如何在Bash中快速創建.conf文件
- 20. MATLAB:快速創建索引
- 21. php快速創建表格
- 22. 快速創建Singelton類?
- 23. 創建快速搜索值
- 24. CVPixelBufferCreateWithBytes快速創建CIImage
- 25. 創建快速GUI前端
- 26. 快速創建變量
- 27. 在Microsoft CRM中快速創建表單中添加一個快速字段
- 28. 如何從python矩陣中快速創建neo4j中的關係?
- 29. 在c中快速打印#
- 30. 創建在快速茯苓一個Scale9Sprite
我想在很短的時間內創建一個大文件,此方法使用FileStream將數據寫入文件並需要大量時間 – wbpmrck 2011-06-15 04:46:16
不,它不。我已經更新了這篇文章,並給出了一個時間樣本。 – holtavolt 2011-06-17 13:11:33