Csharp/C Sharp by API/System.IO/File
Содержание
File.CreateText(String fileName)
using System;
using System.IO;
class MainClass
{
static void Main(string[] args)
{
StreamWriter MyStream = null;
string MyString = "Hello World";
try
{
MyStream = File.CreateText("MyFile.txt");
MyStream.Write(MyString);
}
catch (IOException e)
{
Console.WriteLine(e);
}
catch (Exception e)
{
Console.WriteLine(e);
}
finally
{
if (MyStream != null)
MyStream.Close();
}
}
}
File.Delete
using System;
using System.IO;
class MainClass {
static void Main() {
string tempFile = Path.GetTempFileName();
Console.WriteLine("Using " + tempFile);
using (FileStream fs = new FileStream(tempFile, FileMode.Open)) {
// (Write some data.)
}
// Now delete the file.
File.Delete(tempFile);
}
}
File.Exists(String fileName)
using System;
using System.IO;
static class MainClass
{
static void Main(string[] args)
{
Console.WriteLine(File.Exists("c:\\test.txt"));
}
}
File.GetLastAccessTime
using System;
using System.Windows.Forms;
using System.IO;
public class MainClass
{
[STAThread]
public static void Main()
{
OpenFileDialog dlgOpen = new OpenFileDialog();
if (dlgOpen.ShowDialog() == DialogResult.OK)
{
string s = dlgOpen.FileName;
Console.WriteLine("Filename " + s);
Console.WriteLine(" Created at " + File.GetCreationTime(s));
Console.WriteLine(" Accessed at " +
File.GetLastAccessTime(s));
}
}
}
File.OpenRead
using System;
using System.Windows.Forms;
using System.IO;
class MainClass
{
public static void Main()
{
FileStream inStream = File.OpenRead("c:\\text.txt");
FileStream outStream = File.OpenWrite("c:\\text.txt" + ".bak");
BufferedStream bufInStream = new BufferedStream(inStream);
BufferedStream bufOutStream = new BufferedStream(outStream);
byte[] buf = new byte[1024];
int bytesRead;
while ((bytesRead = bufInStream.Read(buf, 0, 1024)) > 0)
bufOutStream.Write(buf, 0, bytesRead);
bufOutStream.Flush();
bufOutStream.Close();
bufInStream.Close();
outStream.Close();
inStream.Close();
}
}
File.OpenText
using System;
using System.IO;
public class Exists
{
static public void Main (string [] args)
{
if (args.Length == 0)
{
Console.WriteLine ("Please enter a file name");
return;
}
if (!File.Exists (args[0]))
{
Console.WriteLine (args[0] + " does not exist");
return;
}
StreamReader reader;
try
{
reader = File.OpenText (args[0]);
}
catch (Exception e)
{
Console.WriteLine (e.Message);
Console.WriteLine ("Cannot open " + args[0]);
return;
}
while (reader.Peek() >= 0)
{
Console.WriteLine (reader.ReadLine ());
}
reader.Close ();
}
}
File.OpenWrite
using System;
using System.Windows.Forms;
using System.IO;
class MainClass
{
public static void Main()
{
FileStream inStream = File.OpenRead("c:\\text.txt");
FileStream outStream = File.OpenWrite("c:\\text.txt" + ".bak");
BufferedStream bufInStream = new BufferedStream(inStream);
BufferedStream bufOutStream = new BufferedStream(outStream);
byte[] buf = new byte[1024];
int bytesRead;
while ((bytesRead = bufInStream.Read(buf, 0, 1024)) > 0)
bufOutStream.Write(buf, 0, bytesRead);
bufOutStream.Flush();
bufOutStream.Close();
bufInStream.Close();
outStream.Close();
inStream.Close();
}
}
File.ReadAllLines(String fileName)
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
class MainClass
{
static void Main(string[] args)
{
StreamWriter writer = new StreamWriter(@"c:\myfile.txt");
for (int i = 0; i < 3; i++)
{
writer.Write(i.ToString());
}
writer.Flush();
writer.Close();
foreach (string line in File.ReadAllLines(@"c:\myfile.txt"))
{
Console.WriteLine(line);
}
}
}
File.SetAccessControl
using System;
using System.IO;
using System.Security.AccessControl;
class MainClass {
static void Main(string[] args) {
FileStream stream;
string fileName;
fileName = Path.GetRandomFileName();
using (stream = new FileStream(fileName, FileMode.Create)) {
// Do something.
}
SetRule(fileName, "Everyone", FileSystemRights.Read, AccessControlType.Deny);
try {
stream = new FileStream(fileName, FileMode.Create);
} catch (Exception ex) {
Console.WriteLine(ex.ToString());
} finally {
stream.Close();
stream.Dispose();
}
}
static void AddRule(string filePath, string account, FileSystemRights rights, AccessControlType controlType) {
FileSecurity fSecurity = File.GetAccessControl(filePath);
fSecurity.AddAccessRule(new FileSystemAccessRule(account, rights, controlType));
File.SetAccessControl(filePath, fSecurity);
}
static void SetRule(string filePath, string account, FileSystemRights rights, AccessControlType controlType) {
FileSecurity fSecurity = File.GetAccessControl(filePath);
fSecurity.ResetAccessRule(new FileSystemAccessRule(account, rights, controlType));
File.SetAccessControl(filePath, fSecurity);
}
}
File.WriteAllLines(String fileName, String[] lines)
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
class MainClass
{
static void Main(string[] args)
{
string[] lines = new string[10];
for (int i = 0; i < 10; i++)
{
lines[i] = String.Format( "This is line number {0}", i);
}
File.WriteAllLines(@"c:\test.txt", lines);
foreach (string line in File.ReadAllLines(@"c:\test.txt"))
{
Console.WriteLine(line);
}
}
}