FileStream.SetLength मेथड से फाइल ट्रंकेट करना
C# में फाइल को ट्रंकेट (छोटा करना) करने के लिए FileStream.SetLength मेथड का उपयोग करें।
सिंटैक्स:
public override void SetLength(long value);
यहाँ value स्ट्रीम की नई लंबाई है (बाइट्स में)।
व्यवहार:
Value < वर्तमान लंबाई:
- स्ट्रीम ट्रंकेट हो जाती है
- यदि वर्तमान पोज़ीशन नई लंबाई से अधिक है, तो पोज़ीशन अंतिम बाइट पर मूव हो जाती है
Value > वर्तमान लंबाई:
- स्ट्रीम एक्सपैंड हो जाती है
- वर्तमान पोज़ीशन समान रहती है
- पुरानी और नई लंबाई के बीच का कंटेंट अनडिफाइन्ड होता है
कोड उदाहरण:
public void Export(string path) {
FileStream oStream = new FileStream(path, FileMode.Open, FileAccess.ReadWrite);
oStream.SetLength(Length); // Length = वांछित नई लंबाई
oStream.Close();
}
पूर्ण उदाहरण - फाइल को 100 बाइट्स तक ट्रंकेट करना:
using System;
using System.IO;
class Program {
static void Main() {
string path = "test.txt";
// टेस्ट फाइल बनाएं
File.WriteAllText(path, "This is a long text that will be truncated.");
Console.WriteLine("Original size: " + new FileInfo(path).Length);
// ट्रंकेट करें
using (FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Write)) {
fs.SetLength(10);
}
Console.WriteLine("New size: " + new FileInfo(path).Length);
Console.WriteLine("Content: '" + File.ReadAllText(path) + "'");
}
}
चेतावनी: ट्रंकेट करने से डेटा स्थायी रूप से खो जाता है। बैकअप लें।