こんにちは。たいら(@tairaengineer2)です。
この記事では、C#でファイルを削除するやり方について解説します。
スポンサーリンク
- 前提条件
- Deleteメソッドについて
- Deleteメソッドでファイルを削除
- パターンその1:相対パスで指定
- パターンその2:絶対パスで指定
- まとめ:Deleteメソッドを使ってファイルを削除してみよう!
前提条件
この記事では、Visual Studio 2017 Communityを使っています。
インストールの仕方は、下の記事をご参考ください。
Deleteメソッドについて
C#でファイルに上書きをするとき、Deleteメソッドを使います。
このメソッドはusingは
using System.IO;
を使います。
使い方は
- 第1引数:目的のファイルまでのパスを指定
です。
相対パスを注意した方がよいと書いた理由は、後ほど書きます。
絶対パスと相対パスについては、こちらの記事をご参考ください。
先ほど例に出したパスの前に【@】がついていますが、これは逐語的文字列というものです。
C# のキーワードを識別子として使用できるようにする。
コード要素のプレフィックスとして @ 文字を使用すると、その要素はC# のキーワードではなく、識別子としてコンパイラに解釈されます。
@ - C# リファレンス | Microsoft Docsから引用させて頂きました
Deleteメソッドでファイルを削除
実際にDeleteメソッドを使ってファイルを削除してみます。
解説するパターンは
- 相対パスで指定してファイルを削除
- 絶対パスで指定するが、ファイルは存在しない
の2パターンを解説します。
コンソールプロジェクトを作成するやり方は下の記事をご参考ください。
プログラムを作成したあと、ビルドをするやり方はこちらの記事をご参考ください。
スポンサーリンク
パターンその1:相対パスで指定
解説に使うプログラムは、Deleteメソッドを使ってファイルを削除するというシンプルなものです。
先ほど書いた通り、第1引数で指定するパスは相対パスです。
C#サンプルコード
using System.IO;
using System;
namespace ConsoleApp1
{
/// <summary>
/// ファイルを削除するプログラムその1
/// </summary>
class Program
{
/// <summary>
/// メイン
/// </summary>
/// <param name="args"></param>
static void Main(string[] args)
{
File.Delete(@"./Sample.txt");
Console.WriteLine("ファイルを削除しました。");
}
}
}
実行結果
では、実行しますが、その前に
- 削除するファイルがどこにあるのか
- ファイルがあるかどうか
を確認します。
今回は削除するファイルを相対パスで指定しています。
【./Sample.txt】の意味としては、実行ファイルと同じ場所に格納する必要があります。
結論から言うとファイルは、ビルドしてexeファイルが出来る場所に置きます。
さきほど相対パスで書く場合、注意した方がよいと書いたのはこれが理由です。
ビルドして実行するときは、exeファイルを使います。
ソリューションプロジェクトとexeファイルがある場所は異なります。
なので相対パスで指定したファイルは、ソリューションプロジェクトがある場所ではなく、ビルドしてexeファイルが出来る場所に置く必要があります。
【Sample.txt】があることを確認できました。
では、実行します。
ファイルを削除しました。
続行するには何かキーを押してください . . .
実行できました。
ディレクトリの中を確認します。
【Sample.txt】が削除されていることが確認できました。
パターンその2:絶対パスで指定
解説に使うプログラムは、Deleteメソッドを使ってファイルを削除するというシンプルなものです。
先ほど書いた通り、第1引数で指定するパスは絶対パスです。
ただし、パスで指定するファイルは存在しません 。
C#サンプルコード
using System.IO;
using System;
namespace ConsoleApp1
{
/// <summary>
/// ファイルを削除するプログラムその2
/// </summary>
class Program
{
/// <summary>
/// メイン
/// </summary>
/// <param name="args"></param>
static void Main(string[] args)
{
File.Delete(@"C:\work\Sample.txt");
Console.WriteLine("ファイルを削除しました。");
}
}
}
実行結果
では、実行しますが、その前に
- 削除するファイルがどこにあるのか
- ファイルがあるかどうか
を確認します。
指定しているパスに【Sample.txt】が無いことを確認しました。
では、実行します。
ファイルを削除しました。
続行するには何かキーを押してください . . .
実行できました。
ディレクトリの中を確認します。
このようにDeleteメソッドは、パスの先のファイルがなくても正常終了します。
スポンサーリンク
まとめ:Deleteメソッドを使ってファイルを削除してみよう!
以上がファイルを削除をするDeleteメソッドの解説です。
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
ほかにもC#解説記事を書いてます。
よければご参考ください。
【C#】ファイルに上書きする、WriteAllTextメソッドを解説します
【C#】はてな2つの演算子、null合体演算子について解説します
【C#】整数を2進数、8進数、16進数に変換するやり方を解説します
今までブログで書いたC#の解説記事のまとめは、こちらをご参考ください。