C# Path操作路徑檔案、File處理檔案、讀寫檔案:byte[];string[];string; string與byte[]轉換,File.AppendAllText()
將字串以怎樣的形式儲存在二進位制------編碼
File 和Path 都在名稱空間 using System.IO;
1、 專門操作路徑 Path
string str = @"E:\language\C#\C#learn\first.wav"; :假設我們知道檔案的路徑,需要提取檔名稱,目前有兩種方式:通過字串操作和利用Path處理
利用字串的方法提取檔名 // 假如要找到最後的檔名 first.wav int index = str.LastIndexOf("\\");// 找到最後出現'\'的位置 string st = str.Substring(index + 1); // 提取‘\’後面的字元 Console.WriteLine(st); // 輸出
2、利用Path處理路徑檔案
string [email protected]"E:\language\c#\34\video\lesson1.avi"; string fileName=Path.GetFileName(str); // 很方便的獲得檔名 ,str中存放的是檔案的路徑 string fileNameWOEPath.GetFileNameWithoutExtension(str); //獲得檔名,不包括副檔名 string fileExtension=Path.GetExtension (str); //獲得副檔名 string fileFullPath=Path.GetFullPath(str); //獲得檔案路徑 string fileFileName=Path.GetDirectoryName (str); //獲得資料夾名 string fileCombine=Path.Combine (@"f\lan\c\",@"ccc#"); //組成新的路徑名
string str = @"E:\language\C#\video\1.avi";
string path = Path.ChangeExtension(str,".jpg");//修改檔案的字尾,只是字串層面的操作,檔案型別實質沒有改變。
string path1 = Path.Combine(@"E:\language\C#\video","pic.jpg");//相對於‘+’,來說,不需要考慮\的問題
3 檔案File
4 檔案的讀寫File.Create(@"D:\vtang\桌面\a.txt"); // 建立一個檔案 File.Delete(@"D:\vtang\桌面\a.txt"); // 刪除一個檔案 File.Copy(@"D:\vtang\桌面\a.txt",@"D:\vtang\桌面\new.txt"); // 賦值copy一個檔案 File.Move(@"D:\vtang\桌面\new.txt", @"D:\vtang\桌面\new.txt"); // 將一個檔案從一個地方移動到另一個地方
讀:
1、 byte[ ] by = File.ReadAllBytes(@"D:\vitang\桌面\a.txt"); // 以位元組形式輸出 ,輸出位元組陣列
//需要將位元組陣列中的每個元素按照指定的編碼形式編碼成字串
string s = Encoding.GetEncoding("GB2312").GetString(by); //編碼,ANSI格式,default,兩種格式都可以
string s1 = Encoding.Default.GetString(by); // 儲存的格式跟開啟的格式不一致時,出現亂碼
2、 string[ ] str=File.ReadAllLines(@"D:\vitang\桌面\a.txt",Encoding.Default); //以string形式輸出 用來操作每行資料;其他兩種方式都不可以
3、 File.ReadAllText(@"D:\viang\桌面\a.txt",Encode.GetEndcoding("GB2312"));
string[ ] str = File.ReadAllLines(@"D:\vitang\桌面\a.txt",Encoding.Default );
string str=File.ReadAllText(@"D:\vitang\桌面\a.txt",Encoding.Default );
寫:(這些寫的方式都會把檔案中原來的資料覆蓋,可以用追加AppendAllText())
string strn="將這個以位元組形式寫入檔案中,先將string轉換為byte[]";
byte[] byy=Encoding.Default.GetBytes(strn);
File.WriteAllBytes(@"d:\vitang\桌面\a.txt",byy);// 檔案不存在則建立,存在則覆蓋
string[] strn={"將這個以位元組形式寫入檔案中,先將string轉換為byte[]","h"};
byte[] reby = File.ReadAllBytes(@"d:\vitang\桌面\a.txt");
string restr= Encoding.Default.GetString(reby);
File.WriteAllLines(@"d:\vitang\桌面\a.txt", strn,Encoding.Default);
File.WriteAllLines(@"d:\vitang\桌面\a.txt", strn,Encoding.Default);
讀寫檔案的總結:
總共有三個方法讀寫檔案
1、byte[]---byte: ReadAllBytes()、WriteAllBytes()
byte[] by = File.ReadAllBytes(@"D:\vitang\桌面\a.txt"); // 把檔案中的內容讀入到byte[ ]陣列中,再轉換為string
string s1 = Encoding.Default.GetString(by); string與byte[ ]轉換
string s1 = Encoding.GetEncoding("GB2312").GetString(by); //編碼,ANSI格式,default,兩種格式都可以
byte[] byy=Encoding.Default.GetBytes(strn);
File.WriteAllBytes(@"d:\viang\桌面\a.txt",byy);// 將string陣列先轉為byte[]陣列,再存入檔案中
2、string--lines: ReadAllLines()、WriteAllLine()
string[] str=File.ReadAllLines(@"D:\vitang\桌面\a.txt",Encoding.Default); //以string[ ] 形式輸出
string [] strn={"heool ","hao","號店"};
File.WriteAllLines(@"d:\vitang\桌面\a.txt", strn,Encoding.Default ); // 將string[ ]陣列存到檔案中,指定編碼格式
3、string---Text: ReadAllText()、WriteAllText()
string str= File.ReadAllText(@"D:\viang\桌面\a.txt",Encode.GetEndcoding("GB2312"));
string str2="hello world";
File.WriteAllText(@"d:\vitang\桌面\a.txt", str2,Encoding.Default );
總結:
string[]:File.ReadAllLines()和string:File.ReadAllText()的讀寫都是文字檔案,File只適合讀小檔案,大的檔案需要檔案流FileStream()讀取。
byte[ ]轉換為string
string s1 = Encoding.Default.GetString(by); //string與byte[]轉換
string s1 = Encoding.GetEncoding("GB2312").GetString(by); //編碼,ANSI格式,default,兩種格式都可以
void AppendAllText(string Path,string contents);//將文字contents的內容附加到檔案path中
bool Exists(string path);//判斷檔案path是否存在
string[] ReadAllLines(string path);//讀取文字檔案到字串陣列中
string ReadAllText(string path);//讀取文字檔案到字串中
void WriteAllText(string Path,string contents);//將文字contents的內容儲存W到檔案path中,會覆蓋舊內容
WriteAllLines(string Path,string[] contents);//將字串陣列一行一行儲存到檔案path中,會覆蓋舊內容
相關推薦
C# Path操作路徑檔案、File處理檔案、讀寫檔案:byte[];string[];string; string與byte[]轉換,File.AppendAllText()
將字串以怎樣的形式儲存在二進位制------編碼 File 和Path 都在名稱空間 using System.IO; 1、 專門操作路徑 Path string str = @"E:\language\C#\C#learn\first.wav";
Python檔案&IO處理技巧(1): 讀寫、重定向、間隔符、路徑、存在性與檔案列表
1. 文字資料的讀寫 open() & write() : rt模式的重新整理模式 當我們需要讀寫各種不同編碼的文字資料(如ASCII,UTF-8或UTF-16編碼等), 可以直接使用帶rt模式的open()內建函式。如果需要將文字內容寫入到一個檔案中,就要使用帶有 w
fstream與 C 風格(例如fread 和 fwrite )兩種讀寫檔案方法的效率比較
為了探錄c++ 風格的fstream與 C 風格(例如fread 和 fwrite )兩種讀寫檔案的方法的效率,我特意做了兩個實驗。 我的機器是Windows XP, Visual Studio 2008 1. 測試寫檔案速度 程式設計思路: 將TEST_SIZE個
處理Python2.7讀寫檔案中的中文亂碼問題
Python2.7對於中文編碼的問題處理的並不好,這幾天在爬資料的時候經常會遇到中文的編碼問題。但是本人對編碼原理不瞭解,也沒時間深究其中的原理。在此僅從應用的角度做一下總結, 1.設定預設編碼 在Python程式碼中的任何地方出現中文,編譯時都會報錯,這時
Python檔案&IO處理技巧(1): 讀寫、重定向、間隔符、路徑、存在性與檔案列表
1. 文字資料的讀寫 open() & write() : rt模式的重新整理模式 當我們需要讀寫各種不同編碼的文字資料(如ASCII,UTF-8或UTF-16編碼等), 可以直接使用帶rt模式的open()內建函式。如果需要將文字內容寫入到一個檔案中,就要使用帶有
(C/C++) FILE 讀寫檔案操作
per use () eat col 在操作 har 意思 etl 在C/C++ 讀寫檔案操作比較常見應該是利用 FILE、ifstream、ofstream 在這篇筆記裡頭記錄 FILE、fstream 使用方法及操作 1 #include <iostream&
JAVA exception異常處理+I/O操作讀寫檔案 筆記
JAVA 異常處理 JAVA的異常5個關鍵字try...catch...finally..throw..throws 捕獲異常 宣告異常 丟擲異常 try 執行可能產生異常的程式碼 throws
C++讀寫檔案操作
原文來自:http://blog.csdn.net/study16/article/details/5879428 來源:http://www.javaeye.com/topic/383903 讀 《C++ Primer Plus》第17章4-7節 一 頭
Python中的檔案IO操作(讀寫檔案、追加檔案)
【注】:下述操作過程是結合多種網路方法,然後自己實踐的結果。寫在這裡,主要目的是加深記憶,也希望能幫助後來者 Python中檔案的讀寫包含三個步驟:開啟檔案,讀/寫檔案,關閉檔案。 檔案開啟之後必
C++檔案操作函式-讀寫檔案
檔案讀寫是基礎中的基礎,關於此類知識的文章非常多,但還是想根據自己的使用心得去總結這麼一些內容。 1.檔案的開啟和關閉 開啟和關閉 fopen()函式 FILE *fopen(char *filename, *type); filename:可以包
C讀寫檔案操作總結
FILE *fopen( const char *filename, const char *mode ); 一、對已經存在的檔案進行讀寫 mode: “r”—— Opens for reading. “r+”—- Opens for
C# FTP操作 WebRequestMethods.Ftp.RemoveDirectory,遠端伺服器返回錯誤:(550) 檔案不可用(例如,未找到檔案,無法訪問檔案)
今天用程式碼刪除FTP伺服器上的目錄時候,報錯:遠端伺服器返回錯誤:(550) 檔案不可用(例如,未找到檔案,無法訪問檔案)。 習慣性的google,不外乎以下幾點: 1.URL路徑不對,看看有沒有多加空格,或者大小寫問題 2.許可權是否足 3.需要反覆連線的時候,如Get
標頭檔案、預處理命令、名稱空間(作用域)、連結
關於與include搭配的符號(雙引號 & 尖括號): C++有一些編寫好的標頭檔案(比如標準函式庫等等),它們存放在VC++的Include資料夾裡。當我們使用#include <
C++讀寫檔案,處理UTF8檔案,處理GBK中文字元
讀檔案 //從檔案中提取詞典 void getLexiconFromTrainData(char* filepath){ maxLength = 0; lexicalItemCount=0; allSentenceCount=0; wordCount=0
C++中讀寫檔案過程中異常處理機制
在利用C++進行檔案讀取與寫入過程中,無論是針對二進位制檔案還是文字檔案均需要進行異常處理,在C++中我們可以利用CFile進行檔案的讀寫,而在MFC中還可以利用CStdioFile進行檔案的讀寫。 利用CFile進行讀文字檔案過程中的異常處
關於C++中輸入輸出的小結——讀寫檔案、string
常用函式和類的介紹 getline(istream& , string&) 功能:將輸入流中的資料輸出到string物件中,直到遇到\n。可以用於從檔案或者螢幕中將一行文字接收並存儲下來。 常用的io類有iostream,fstream,
day15——異常常用形式、異常處理方法、raise關鍵字的使用
nco 尚未實現 對象 縮進 lower 會有 tran ise 通知 異常既是一個事件,該事件會在程序執行過程中發生,影響了程序的正常執行。 一般情況下,在Python無法正常處理程序時就會發生一個異常。異常是Python對象,表示一個錯誤。當Python腳本發生
android檔案操作——讀寫檔案demo
寫檔案操作: public void save(String inputText) { FileOutputStream out = null; BufferedWriter writer = null; try {
C語言 檔案大小,分配空間,讀入檔案,寫入檔案,實現複製的功能
首先通過兩種方法得到檔案的大小,位元組為單位,根據這個大小使用malloc分配固定的空間buffer,二進位制流讀入檔案,把二進位制流寫入buffer中,buffer輸出寫入到新的檔案。 原始檔1.txt,輸出檔案1.txt.txt 環境為Ubuntu 16.04,gcc #incl
C# & JAVA:讀寫檔案
using System; using System.IO; using System.Text; namespace ConsoleApplication4 { class Program { public static void Read(string path) { FileS