ファイルを利用する (5/5)
作成:2013-09-14 10:48
更新:2013-09-14 10:51
更新:2013-09-14 10:51
■ファイル/フォルダを操作する
ファイルの操作は、「ファイルを開いてデータを読み込む」という目的のためだけに行うわけではありません。例えば、一時ファイルに保存した後でそのファイルを削除したり、ファイルを上書きする前にそのファイルをバックアップフォルダにコピーしたり、というように、ファイルの「作成・移動・複製・削除」といった操作も必要となってきます。
これらの操作も、前回登場した「File」「Directory」といったクラスに用意されます。これらは文字通りファイルやディレクトリ(フォルダ)を扱うためのクラスですので、ファイルをコピーするならFile、フォルダを移動するならDirectoryの中にあるメソッドを探せばいいわけです。では以下に基本的な操作メソッドを整理しましょう。
・ファイル/フォルダを作成する
・ファイルをコピーする
・ファイル/フォルダを移動する
・ファイル/フォルダを削除する
これらは比較的シンプルなものばかりですから、実際に使ってみればすぐに利用の仕方はわかるでしょう。参考までに、下に簡単な例を挙げておきます。ボタンを押すと、デスクトップに「Backup!」というフォルダを作り、マイドキュメント内のファイルをそこにコピーします。
これらの操作も、前回登場した「File」「Directory」といったクラスに用意されます。これらは文字通りファイルやディレクトリ(フォルダ)を扱うためのクラスですので、ファイルをコピーするならFile、フォルダを移動するならDirectoryの中にあるメソッドを探せばいいわけです。では以下に基本的な操作メソッドを整理しましょう。
・ファイル/フォルダを作成する
FileStream 変数 = File.Create( ファイルパス );
DirectoryInfo 変数 = Directory.CreateDirectory( ファイルパス );
・ファイルをコピーする
File.Copy( コピー元のパス , コピー先のパス );(※ディレクリをそのままコピーするメソッドはありません)
・ファイル/フォルダを移動する
File.Move( 移動元のパス , 移動先のパス );
Directory.Move( 移動元のパス , 移動先のパス );
・ファイル/フォルダを削除する
File.Delete( ファイルのパス );
Directory.Delete( ファイルのパス );
これらは比較的シンプルなものばかりですから、実際に使ってみればすぐに利用の仕方はわかるでしょう。参考までに、下に簡単な例を挙げておきます。ボタンを押すと、デスクトップに「Backup!」というフォルダを作り、マイドキュメント内のファイルをそこにコピーします。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
using System;
using System.Drawing;
using System.IO;
using System.Windows.Forms;
namespace MyFrmApp
{
public class MyForm : Form
{
private Label label;
private TextBox box;
private Button btn;
public MyForm()
{
this.Width = 500;
this.Height = 500;
setupControls();
}
public void setupControls()
{
label = new Label();
label.Text = "type text:";
label.Font = new Font("Geneva",12,FontStyle.Regular);
label.Height = 30;
label.Width = 500;
this.Controls.Add(label);
box = new TextBox();
box.Multiline = true;
box.Width = 425;
box.Height = 300;
box.Top = 50;
box.Left = 25;
this.Controls.Add(box);
btn = new Button();
btn.Text = "click";
btn.Height = 30;
btn.Width = 100;
btn.Top = 360;
btn.Left = 100;
btn.Click += btn_Click;
this.Controls.Add(btn);
}
private void btn_Click(object sender, System.EventArgs e)
{
string doc = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
string dtop = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
string[] files = Directory.GetFiles(doc);
string bk = dtop + Path.DirectorySeparatorChar + "Backup!";
Directory.CreateDirectory(bk);
foreach(string file in files)
{
string fname = Path.GetFileName(file);
File.Copy(file, bk + Path.DirectorySeparatorChar + fname);
box.Text += fname + Environment.NewLine;
}
}
}
}
※関連コンテンツ