![](/img/trans.png)
[英]Windows forms ImageList - Add images with Relative path - No file copy
[英]Copy file using relative path
File.Copy(@"my program\\subfolder\\what i want to copy.txt", "C:\\Targetlocation");
如何使用相對路徑將文本文件從一個文件夾復制到另一個文件夾。
要執行File.Copy
,源和目標將是有效的文件路徑。 在您的情況下,目標是文件夾而不是文件。 在這種情況下,您可能會遇到一些異常情況,例如
找不到路徑“ F:\\ New folder”的一部分
執行應用程序時,當前目錄將是bin
文件夾。 您需要從此處指定相對路徑。 讓my program/subfolder
文件夾作為您解決方案中的文件夾,因此代碼如下所示:
string sourcePath = "../../my program/subfolder/what i want to copy.txt";
string destinationPath = @"C:\Targetlocation\copyFile.txt"
File.Copy(sourcePath, destinationPath );
../
將幫助您從當前目錄后退一步。 您還需要注意的另一件事是File.Copy
方法中的第三個可選參數。 通過為該參數傳遞true
將幫助您覆蓋現有文件的內容。此外,請確保文件夾C:\\Targetlocation
存在,因為這不會為您創建文件夾。
File.Copy(@"subfolder\\what i want to copy.txt", "C:\\Targetlocation\\TargetFilePath.txt");
sourceFileName和destFileName參數可以指定相對或絕對路徑信息。 相對路徑信息被解釋為相對於當前工作目錄。 此方法在參數中不支持通配符。
確保您的目標目錄存在。 您可以使用Directory.CreateDirectory
Directory.CreateDirectory("C:\\Targetlocation");
使用Directory.CreateDirectory()
,您不必檢查目錄是否存在。 從文檔:
除非在路徑中指定的目錄已經存在或路徑的某些部分無效,否則將創建該目錄中指定的所有目錄。 path參數指定目錄路徑,而不是文件路徑。 如果目錄已經存在,則此方法不執行任何操作。
// Remove path from the file name.
string fName = f.Substring(sourceDir.Length + 1);
try
{
// Will not overwrite if the destination file already exists.
File.Copy(Path.Combine(sourceDir, fName), Path.Combine(backupDir, fName));
}
您可以提供當前工作目錄中的相對路徑,可以通過Environment.CurrentDirectoy進行檢查。
例如,如果當前工作目錄為D:\\ App,源文件位置為D:\\ App \\ Res \\ Source.txt,目標位置為D:\\ App \\ Res \\ Test \\ target.txt,則您的代碼段將是-
File.Copy(Res\\Source.txt, Res\\Test\\target.txt);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.