程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> c#文件操作(初學者)

c#文件操作(初學者)

編輯:C#入門知識

比較簡單,適合初學者的。
題目:
首先創建一個文件,並將鍵盤輸入的內容寫入到文件中;然後以文本方式和二進制方式讀寫文件,獲取文件屬性
步驟
1.創建一個控制台程序:打開vs2010,File->new->project,選擇console application,名稱中寫入自己想要的名字即可;我的名稱是:File
2.代碼編寫步驟:
1).創建一個FileStream的對象,定義指向文件的流;
2).創建一個streamwriter對象,向創建的文件中寫入從控制台輸入的內容;當輸入0時輸入結束;
3).創建一個streamreader對象,以文本方式讀取剛創建的文件中的內容,輸出到控制台中;
4).創建一個binaryreader對象,一個個讀取其中的字符,並轉換成ascii碼;
5).創建一個fileInfo對象,獲取文件的名稱,長度等屬性;
3.具體的代碼如下:(代碼中有講解)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace File
{
    class Program
    {
        static void Main(string[] args)
        {  www.2cto.com
            //與創建FileStream對象不同,創建StreamWriter對象不會提供一組類似的選項:
            //除了使用Boolean值添加到文件的末尾或創建新文件之外,根本沒有像FileStream類那樣
            //指定FileMode屬性的選項。而且,沒有設置FileAccess屬性的選項,因此總是有對文件的讀/寫權限。
            //為了使用高級參數,必須先在FileStream構造函數中指定這些參數,然後在FileStream對象中創建StreamWriter。
            //StreamWriter sw = new StreamWriter(@"C:\\文件.txt", true);
            //此構造函數中有兩個參數,一個是文件名,另一個是布爾值,這個布爾值規定創建對象的方式如下:
             //如果此值為false,則創建一個新文件,如果存在原文件,則覆蓋。
             //如果此值為true,則打開文件保留原來數據,如果找不到文件,則創建新文件。
            try
            {
                FileStream fs = new FileStream(@"C:\\文件.txt", FileMode.OpenOrCreate, FileAccess.ReadWrite);
                StreamWriter sw = new StreamWriter(fs);
                string str = Console.ReadLine();//獲取鍵盤上輸入的內容,最終寫到文件中
                while (str != "0")//當輸入0時,輸入結束
                {
                    sw.WriteLine(str);
                    str = Console.ReadLine();   
                }
                sw.Close();
            }
            catch (IOException ex)
            {
                Console.WriteLine(ex.Message);
                Console.ReadLine();
                return;
            }
            try
            {
                FileStream fs = new FileStream(@"C:\\文件.txt", FileMode.OpenOrCreate, FileAccess.ReadWrite);
                StreamReader sr = new StreamReader(fs);
                Console.WriteLine("***************以文本方式讀文件********************************");
                string strs = sr.ReadLine();
                while (strs != null)
                {
                    Console.WriteLine(strs);
                    strs = sr.ReadLine();
                }
                sr.Close();
            }
            catch (IOException ex)
            {
                Console.WriteLine(ex.Message);
                return;
            }
            Console.WriteLine();
            try
            {
                Console.WriteLine("***************以二進制方式讀文件********************************");
                FileStream fs = new FileStream(@"C:\\文件.txt", FileMode.OpenOrCreate, FileAccess.ReadWrite);
                BinaryReader br = new BinaryReader(fs);
                while (br.BaseStream.Position < br.BaseStream.Length)
                {
                    char ch = br.ReadChar();//獲取字符中的每個字符
                    int i=Convert.ToInt32(ch);//獲得字符的ASCII碼
                    if (i == 10)//ASCII碼是10是換行鍵
                    {
                        continue;
                    }
                    if(i==13)//ASCII碼是13是回車鍵
                    {
                        Console.WriteLine();
                        continue;
                    }
                    Console.Write(Convert.ToInt32(ch));
                    if (i != 13&&i!=10)
                        Console.Write(".");
                   
                }
                br.Close();
                fs.Close();
            }
            catch (IOException ex)
            {
                Console.WriteLine(ex.Message);
                return;
            }
            Console.WriteLine();
            Console.WriteLine();
            Console.WriteLine("***************讀取文件屬性********************************");
            FileInfo fileInfo = new FileInfo(@"C:\\文件.txt");
            Console.WriteLine("文件名                  :"+fileInfo.Name);
            Console.WriteLine("文件名<含路徑>          :"+fileInfo.FullName);
            Console.WriteLine("文件大小<byte>          :" + fileInfo.Length);
            Console.WriteLine("文件創建時間            :" + fileInfo.CreationTime);
        }
    }
}
程序運行的效果如下:

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved