C# 檔案存在

王林
發布: 2024-09-03 15:30:47
原創
551 人瀏覽過

In C#, File.Exists() method comes under the System.IO namespace. It is used to check whether a file exists at the specified location or not. The following are some important points regarding the file.Exists() method in C#:

  • This method takes a string (path of the file) as input.
  • It returns a Boolean value; it returns true if the user has required permission to read the file and the file exists at the specified location; else returns false.
  • It also returns false if the path is null or if it is not valid, or if its length is zero.

Syntax:

The syntax for the file.Exists() method in C# is as follows:

if(File.Exists(<em>file_path</em>))
{
//user code
}
登入後複製

In the above syntax, we have used a file.Exists() method with an ‘if’ statement. Here, the file is a class that contains the Exists() method. The File.Exists() method takes ‘file_path,’’ which is the file’s path as input to check if the file exists.

If the file exists, then the corresponding user code will be executed.

How File.Exists() Method Works in C#?

To work with files.Exists() method, we first need to import the System.IO namespace in our code. This method accepts a string input representing the file path to check for existence. This method returns true if the file exists at the specified path and the user has permission to read the file. If the file exists, but the user does not have the required permission to read the file, then an exception will not be thrown, but the method will return false. Apart from this, the method returns false if the input string (path of the file) is null or its length is zero.

The user should check that the path of the file is valid such as it is not empty, it does not only contain white spaces, it does not contain any invalid characters, the path of the file or file name is not too long, etc. If the file’s path is not valid, then the method will return false.

We can check for the validity of the path by calling the path.GetInvalidPathChars() method, which returns an array of characters that are not allowed in the pathname. Along with this, we can also create a regex (regular expression) to check for the validity of the path. While a user calls file.Exists() method on a file; it is possible that at the same time, another operation can be performed on the same file, such as the Delete operation. Thus, a user needs to be aware of this possibility. To File.Exists() method allows the user to pass absolute or relative path information as input.

The path specified as a relative path will be interpreted as relative to the current working directory. File.Exists() method works only for a file. If a user passes the path of the directory to the method then it will return false. The method removes trailing spaces, if any, from the path of the file before checking for the existence of the file.

Examples of File.Exists in C#

Example to check if the file exists in the current directory or not. If it exists, the code will open the file to read its content else; it will show a message that file does not exist in this directory.

Example #1

Code:

using System;
using System.IO;
namespace ConsoleApp4
{
public class Program
{
public static void Main()
{
string filePath = "Text.txt";
string fileContent = string.Empty;
try
{
//checking if file exists in the current directory
if (File.Exists(filePath))
{
//opening text file and reading the whole content
using (TextReader tr = File.OpenText(filePath))
{
fileContent = tr.ReadToEnd();
Console.WriteLine(fileContent);
}
}
else
{
Console.WriteLine(filePath + " file does not exist in the current "+
"directory.");
}
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
Console.ReadLine();
}
}
}
登入後複製

Output:

C# 檔案存在

Example #2

Example to check if a file exists in the specified directory by writing the file path in two different ways, as shown below:

  • The first way is to prefix the ‘@’ symbol to the file path. This requires a single ‘\’ backslash in the file path.
  • The other way is to provide two backslashes, ‘\\,’ in the file path.

Code:

using System;
using System.IO;
namespace ConsoleApp4
{
public class Program
{
public static void Main()
{
string filePath1 = @"D:\Content\FileExists.txt";
string filePath2 = "D:\\Content\\FileExists.txt";
string fileContent = string.Empty;
try
{
//checking if file exists in the specified directory
if (File.Exists(filePath1))
{
Console.WriteLine("Reading file content using first way of " +
"writing file path");
//opening text file and reading the whole content
using (TextReader tr = File.OpenText(filePath1))
{
fileContent = tr.ReadToEnd();
Console.WriteLine(fileContent);
}
}
else
{
Console.WriteLine(filePath1 + " file does not exist in " +
"the specified directory.");
}
if (File.Exists(filePath2))
{
Console.WriteLine("\nReading file content using second way of " +
"writing file path");
fileContent = string.Empty;
//opening text file and reading the whole content
using (TextReader tr = File.OpenText(filePath2))
{
fileContent = tr.ReadToEnd();
Console.WriteLine(fileContent);
}
}
else
{
Console.WriteLine(filePath2 + " file does not exist in " +
"the specified directory.");
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
Console.ReadLine();
}
}
}
登入後複製

Output:

C# 檔案存在

Example #3

Example showing file.Exists() method working with the ‘null’ file path.

Code:

using System;
using System.IO;
namespace ConsoleApp4
{
public class Program
{
public static void Main()
{
//taking file path as 'null'
string filePath = null;
string fileContent = string.Empty;
try
{
//checking if file exists
if (File.Exists(filePath))
{
//opening text file and reading the whole content
using (TextReader tr = File.OpenText(filePath))
{
fileContent = tr.ReadToEnd();
Console.WriteLine(fileContent);
}
}
else
{
Console.WriteLine(filePath + " file does not exist.");
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
Console.ReadLine();
}
}
}
登入後複製

Output:

C# 檔案存在

In the above example, file.Exists() method returned false because the file path is ‘null.’

Conclusion

  • Exists() method in C# is used in file handling. This method checks the existence of a file.
  • This method takes the path of the file as input.
  • The method returns ‘true’ if the file exists at the specified path; else, it returns ‘false.’

以上是C# 檔案存在的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!