Ashish Verma
Ashish Verma

Reputation: 127

How to open a text file in read-only mode means there i can not perform write?

I am trying it too much time but can not achieve the goal. File is opened but its opened in write mode.

Code- in txtpath.text, I am passing the path of the text:

System.IO.FileInfo fileObj= new System.IO.FileInfo(txtPath.Text);

fileObj.Attributes = System.IO.FileAttributes.ReadOnly;

System.Diagnostics.Process.Start(fileObj.FullName);

Upvotes: 0

Views: 6701

Answers (2)

papaiatis
papaiatis

Reputation: 4291

Opening a file to only read it's contents:

    // Open the stream and read it back.
    using (FileStream fs = File.OpenRead(path)) 
    {
        byte[] b = new byte[1024];
        UTF8Encoding temp = new UTF8Encoding(true);

        while (fs.Read(b,0,b.Length) > 0) 
        {
            Console.WriteLine(temp.GetString(b));
        }
    }

More about File.OpenRead: http://msdn.microsoft.com/en-us/library/system.io.file.openread.aspx

Setting a file's ReadOnly attribute and executing it:

File.SetAttributes(txtPath.Text, File.GetAttributes(txtPath.Text) | FileAttributes.ReadOnly);
System.Diagnostics.Process.Start(txtPath.Text);

Upvotes: 1

Shai
Shai

Reputation: 25619

use the File.OpenRead method

 string sFilename = "myfile.txt";
 FileStream SR = File.OpenRead(sFilename);

Upvotes: 2

Related Questions