使用File类判断文件是否存在以及创建,拷贝和移动文件

1:File类的exist方法判断文件是否存在,接受一个参数,即文件的路径,可以用绝对路径也可以用相对路径。
2:File类的Create方法用来创建文件,该方法只有一个参数,即用于表示文件路径的字符串(此处要用绝对路径,如果只填写文件名也可以,但是创建的文件是放到.NET的安装目录的IDE文件夹下的)。创建成功后返回的结果是一个FileStream对象,可以使用此对象对新创建的文件进行读写操作。
3:File类的Copy方法,需要给出两个参数,即源文件的路径和目标文件的路径。
4:移动文件可以使用File类的Move方法,在使用move方法时,也需要给出源文件的路径和目标文件的路径。(例如:把文件a.txt从E盘移动到F盘参数应该是:E:\a.txt  F:\a.txt  不过偶感觉Move和copy也可以间接的实现文件改名了,例如:E:\a.txt  F:\B.txt 这样会把a.txt从E盘移动到F盘而且变为B.txt文件  )
(注意:在使用copy和move方法时目标文件的路径参数所指向的文件在进行此操作之前都应该是不存在的,源文件都应该是存在的,而且源文件和目标文件要求存在于同一个硬盘中,此处本人感觉如果是系统有两块或者更多那么在硬盘之间可能不行,但是如果就只有一块硬盘那么在C, D, E, F之间复制移动是没有问题的,当然多块硬盘的本人也没试过,因为我用的机器也就一块硬盘:))

创建文件代码:
 <table border="1">
            <tr>
                <td colspan="2" style="color: #660066;">
                    创建新文件:
                </td>
            </tr>
            <tr>
                <td style="font-size: 10pt">
                    请输入创建文件路径:
                </td>
                <td style="width: 158px">
                    <asp:TextBox ID="FileTextBox" runat="server"></asp:TextBox>
                </td>
               
            </tr>
            <tr>
                <td colspan="2">
                    <asp:Label ID="MsgLabel" runat="server" ForeColor="red"></asp:Label>
                </td>
            </tr>
            <tr>
                <td align="center" colspan="2">
                    <asp:Button ID="CreateButton" runat="server" Text="创建文件" OnClick="CreateButton_Click" />
                </td>
            </tr>
        </table>


using System.IO;

public partial class CreateFile : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void CreateButton_Click(object sender, EventArgs e)
    {
        try
        {
            if (File.Exists(FileTextBox.Text))
            {
                MsgLabel.Text = "该文件已经存在!";

                return;
            }

            FileStream fs = File.Create(FileTextBox.Text);
            Byte[] info ={ 1, 2, 3, 4, 5, 6, 7, 8, 9};
            fs.Write(info, 0, info.Length);
            fs.Close();
            MsgLabel.Text = "文件创建成功!";
        }
        catch(Exception ee)
            {
                MsgLabel.Text = "创建文件失败! 失败的原因是:" + ee.ToString();
            }
    }
}


移动和复制文件代码:
 <table border="1">
            <tr>
                <td colspan="2" style="color: #660066;">
                    拷贝或移动文件:
                </td>
            </tr>
            <tr>
                <td style="font-size: 10pt">
                    请输入源文件路径:
                </td>
                <td style="width: 158px">
                    <asp:TextBox ID="SFileTextBox" runat="server"></asp:TextBox>
                </td>
               
            </tr>
            <tr>
                <td style="font-size: 10pt">
                    请输入目的文件路径:
                </td>
                <td style="width: 158px">
                    <asp:TextBox ID="DFileTextBox" runat="server"></asp:TextBox>
                </td>
               
            </tr>
            <tr>
                <td colspan="2">
                    <asp:Label ID="MsgLabel" runat="server" ForeColor="red"></asp:Label>
                </td>
            </tr>
            <tr>
                <td colspan="2" align="center">
                    <asp:Button ID="CopyButton" runat="server" Text="拷贝文件" OnClick="CopyButton_Click" />
                    <asp:Button ID="Moveutton" runat="server" Text="移动文件" OnClick="Moveutton_Click" />
                </td>
            </tr>
        </table>


using System.IO;

public partial class Move : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void CopyButton_Click(object sender, EventArgs e)
    {
        try
        {
            if (!File.Exists(SFileTextBox.Text))
            {
                MsgLabel.Text = "源文件不存在!";

                return;
            }

            if (File.Exists(DFileTextBox.Text))
            {
                MsgLabel.Text = "目标文件已经存在!";

                return;
            }

            File.Copy(SFileTextBox.Text, DFileTextBox.Text);
            MsgLabel.Text = "文件拷贝成功! 目标文件为" + DFileTextBox.Text;
        }
        catch (Exception ee)
        {
            MsgLabel.Text = "操作失败! 失败原因:" + ee.ToString();
        }
    }

    protected void Moveutton_Click(object sender, EventArgs e)
    {
        try
        {
            if (!File.Exists(SFileTextBox.Text))
            {
                MsgLabel.Text = "源文件不存在!";

                return;
            }

            if (File.Exists(DFileTextBox.Text))
            {
                MsgLabel.Text = "目标文件已经存在!";

                return;
            }

            File.Move(SFileTextBox.Text, DFileTextBox.Text);
            MsgLabel.Text = "文件移动成功! 源文件已经被移除。目标文件为" + DFileTextBox.Text;
        }
        catch (Exception ee)
        {
            MsgLabel.Text = "操作失败! 失败原因:" + ee.ToString();
        }
    }
}

posted @ 2008-06-19 10:38  不染丹心  阅读(2494)  评论(0编辑  收藏  举报