net8:简易的文件磁盘管理操作一(包括文件以及文件夹的编辑创建删除移动拷贝重命名等)
原文发布时间为:2008-08-07 —— 来源于本人的百度文章 [由搬家工具导入]
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;
using System.Text;
public partial class Default4 : System.Web.UI.Page
{
//DropDownList1的AppendDataBoundsItems属性要改成true
string fpath;
FileStream fs;
DirectoryInfo di;
FileInfo fi;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (Request.QueryString["fpath"] == null)
{
fpath = Server.MapPath(".");
Label1.Text = fpath;
TextBox1.Text = fpath;
fill(fpath);
}
else
{
fpath = Server.UrlDecode(Request.QueryString["fpath"]);
Label1.Text = fpath;
TextBox1.Text = fpath;
fill(fpath);
}
}
}
protected void fill(string fpath)
{
TableCell td;
TableRow tr;
Button btn;
tr = new TableRow();
td = new TableCell();
btn = new Button();
btn.Text = "名称";
btn.Width = 200;
btn.Attributes.Add("onClick", "return false");
td.Controls.Add(btn);
tr.Cells.Add(td);
td = new TableCell();
btn = new Button();
btn.Text = "类型";
btn.Width = 60;
btn.Attributes.Add("onClick", "return false");
td.Controls.Add(btn);
tr.Cells.Add(td);
td = new TableCell();
btn = new Button();
btn.Text = "大小";
btn.Width = 80;
btn.Attributes.Add("onClick", "return false");
td.Controls.Add(btn);
tr.Cells.Add(td);
td = new TableCell();
btn = new Button();
btn.Text = "修改日期";
btn.Width = 150;
btn.Attributes.Add("onClick", "return false");
td.Controls.Add(btn);
tr.Cells.Add(td);
td = new TableCell();
btn = new Button();
btn.Text = "操作";
btn.Width = 200;
btn.Attributes.Add("onClick", "return false");
td.Controls.Add(btn);
tr.Cells.Add(td);
Table1.Rows.Add(tr);
string fname;
string fexp;
string fsize;
string ftime;
HyperLink href;
string url;
di = new DirectoryInfo(fpath);
foreach (FileSystemInfo fsi in di.GetFileSystemInfos())
{
if (fsi is FileInfo)
{
FileInfo fi = (FileInfo)fsi;
fname = fi.Name;
if (fi.Extension.Length < 1)
fexp = "";
else
fexp = fi.Extension.Remove(0, 1);
fsize = fi.Length.ToString();
ftime = fi.LastWriteTime.ToString();
}
else
{
di = (DirectoryInfo)fsi;
fname = di.Name;
fexp = "文件夹";
fsize = "";
ftime = di.LastWriteTime.ToString();
}
tr = new TableRow();
td = new TableCell();
td.Controls.Add(new LiteralControl(fname));
tr.Cells.Add(td);
td = new TableCell();
td.Controls.Add(new LiteralControl(fexp));
tr.Cells.Add(td);
td = new TableCell();
td.Controls.Add(new LiteralControl(fsize));
tr.Cells.Add(td);
td = new TableCell();
td.Controls.Add(new LiteralControl(ftime));
tr.Cells.Add(td);
if (fsi is DirectoryInfo)
{
href = new HyperLink();
href.Text = "打开";
url = Server.UrlEncode(fpath);
href.NavigateUrl = "~/Default4.aspx?fpath=" + url + "\\" + fname;
td = new TableCell();
td.Controls.Add(href);
tr.Cells.Add(td);
}
else
{
td = new TableCell();
}
if (fsi is FileInfo)
{
href = new HyperLink();
href.Text = "编辑";
url =Server.UrlEncode(fpath)+ "\\" + fname;
href.NavigateUrl = "~/Default5.aspx?ax=editfile&url="+url+"&fname=" + fname;
td.Controls.Add(href);
}
else
{
href = new HyperLink();
href.Text = "重命名";
url =Server.UrlEncode(fpath)+ "\\" + fname;
href.NavigateUrl = "~/Default5.aspx?ax=editdir&url=" + url + "&fname=" + fname;
td.Controls.Add(href);
}
if (fsi is FileInfo)
{
href = new HyperLink();
href.Text = "删除";
href.Attributes.Add("onClick", "return confirm('一旦删除,无法恢复,回收站也没有')");
url =Server.UrlEncode(fpath)+ "\\" + fname;
href.NavigateUrl = "~/Default5.aspx?ax=deletefile&url=" + url + "&fname=" + fname;
td.Controls.Add(href);
}
else
{
href = new HyperLink();
href.Text = "删除";
href.Attributes.Add("onClick", "return confirm('一旦删除,无法恢复,回收站也没有')");
url =Server.UrlEncode(fpath)+ "\\" + fname;
href.NavigateUrl = "~/Default5.aspx?ax=deletedir&url=" + url + "&fname=" + fname;
td.Controls.Add(href);
}
if (fsi is FileInfo)
{
href = new HyperLink();
href.Text = "移动";
url =Server.UrlEncode(fpath)+ "\\" + fname;
href.NavigateUrl = "~/Default5.aspx?ax=movefile&url=" + url + "&fname=" + fname;
td.Controls.Add(href);
}
else
{
href = new HyperLink();
href.Text = "移动";
url =Server.UrlEncode(fpath)+ "\\" + fname;
href.NavigateUrl = "~/Default5.aspx?ax=movedir&url=" + url + "&fname=" + fname;
td.Controls.Add(href);
}
if (fsi is FileInfo)
{
href = new HyperLink();
href.Text = "拷贝";
url =Server.UrlEncode(fpath)+ "\\" + fname;
href.NavigateUrl = "~/Default5.aspx?ax=copyfile&url=" + url + "&fname=" + fname;
td.Controls.Add(href);
}
else
{
href = new HyperLink();
href.Text = "拷贝";
url =Server.UrlEncode(fpath)+ "\\" + fname;
href.NavigateUrl = "~/Default5.aspx?ax=copydir&url=" + url + "&fname=" + fname;
td.Controls.Add(href);
}
tr.Cells.Add(td);
Table1.Rows.Add(tr);
}
//DropDownList1的AppendDataBoundsItems属性要改成true才能添加静态项
DropDownList1.Items.Clear();
DropDownList1.Items.Add("请选择目标目录");
if (fpath.Length > 4)
{
DropDownList1.Items.Add("返回上级目录");
DropDownList1.DataSource = Directory.GetDirectories(fpath);
DropDownList1.DataBind();
}
else
{
string[] item = Directory.GetLogicalDrives();
for (int i = 0; i < item.Length; i++)
{
DropDownList1.Items.Add(item[i]);
}
DropDownList1.DataSource = Directory.GetDirectories(fpath);
DropDownList1.DataBind();
}
}
protected void Button1_Click(object sender, EventArgs e)
{
fpath = TextBox1.Text;
Label1.Text = fpath;
fill(fpath);
}
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
switch (DropDownList1.SelectedItem.Text)
{
case "请选择目标目录":
break;
case "返回上级目录":
string rootDir = Directory.GetParent(TextBox1.Text).FullName;
fpath = rootDir;
TextBox1.Text = fpath;
Label1.Text = fpath;
fill(fpath);
break;
default:
fpath = DropDownList1.SelectedItem.Text;
TextBox1.Text = fpath;
Label1.Text = fpath;
fill(fpath);
break;
}
}
protected void Button2_Click(object sender, EventArgs e)
{
string newpath = Label1.Text + "\\" + TextBox2.Text;
creatFile(newpath);
fpath = Label1.Text;
fill(fpath);
}
protected void creatFile(string path)
{
try
{
fi=new FileInfo(path);
if (!fi.Exists)
fi.Create();
else
Response.Write("<script>alert('文件已经存在')</script>");
}
catch (Exception ex)
{
Response.Write("<script>alert('" + ex.Message + "')</script>");
}
}
protected void Button3_Click(object sender, EventArgs e)
{
string newpath = Label1.Text + "\\" + TextBox3.Text;
creatDir(newpath);
fpath = Label1.Text;
fill(fpath);
}
protected void creatDir(string path)
{
try
{
di = new DirectoryInfo(path);
if (!di.Exists)
di.Create();
else
Response.Write("<script>alert('文件夹已经存在')</script>");
}
catch (Exception ex)
{
Response.Write("<script>alert('" + ex.Message + "')</script>");
}
}
}
----------------------------------------------------
net8:简易的文件磁盘管理操作一(包括文件以及文件夹的编辑创建删除移动拷贝重命名等)的更多相关文章
- net8:简易的文件磁盘管理操作二(包括文件以及文件夹的编辑创建删除移动拷贝重命名等)
原文发布时间为:2008-08-07 -- 来源于本人的百度文章 [由搬家工具导入] using System;using System.Data;using System.Configuration ...
- Linux常用命令之文件磁盘管理
前言 本文知识点是曾经学习过程中收录整理的,方便学习使用. 一>Linux常用基本命令 Linux命令格式:command [-options] [parameter1] ... command ...
- media静态文件统一管理 操作内存的流 - StringIO | BytesIO PIL:python图片操作库 前端解析二进制流图片(了解) Admin自动化数据管理界面
一.media ''' 1. 将用户上传的所有静态文件统一管理 -- settings.py -- MEDIA_ROOT = os.path.join(BASE_DIR, 'media') 2. 服务 ...
- iOS文件和文件夹的创建,删除,移动, 拷贝,是否存在及简单数据类型的读写
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launc ...
- Linux(6)文件和磁盘管理
文件和磁盘管理 1. 文件管理ls ls : 查看文件信息. 列出目录的内容 -a :显示指定目录下的所有文件, 包括以.开头的隐藏文件 -l :以列表方式显示文件的详细信息 -h :配合-l显示文件 ...
- Python::OS 模块 -- 文件和目录操作
os模块的简介参看 Python::OS 模块 -- 简介 os模块的进程管理 Python::OS 模块 -- 进程管理 os模块的进程参数 Python::OS 模块 -- 进程参数 os模块中包 ...
- Linux磁盘管理:LVM逻辑卷基本概念及LVM的工作原理
一.传统的磁盘管理 其实在Linux操作系统中,我们的磁盘管理机制和windows上的差不多,绝大多数都是使用MBR(Master Boot Recorder)都是通过先对一个硬盘进行分区,然后再将该 ...
- Linux系统下常用的磁盘管理命令——du / df / fdisk / mount / xxd
之前使用虚拟机体验Linux操作系统的使用,一般使用默认的磁盘分区设置,也很少涉及磁盘管理操作,且总有删除重装作为后盾.在安装Ubuntu双系统后,在使用过程中遇到了磁盘分区不合理导致的/boot分区 ...
- 【转载】Linux磁盘管理:LVM逻辑卷管理
Linux学习之CentOS(二十五)--Linux磁盘管理:LVM逻辑卷基本概念及LVM的工作原理 这篇随笔将详细讲解Linux磁盘管理机制中的LVM逻辑卷的基本概念以及LVM的工作原理!!! 一. ...
随机推荐
- java 核心技术卷一笔记 6 .2.3 接口 lambda 表达式 内部类
6.2.3 对象克隆 Cloneable 接口,这个接口指示一个类提供了一个安全的clone方法.(稍作了解) 为一个对象引用的变量建立副本时,原变量和副本都是同一个对象的引用,任何一个变量改变都 ...
- Google Colab免费GPU使用教程(一)
一.前言 现在你可以开发Deep Learning Applications在Google Colaboratory,它自带免费的Tesla K80 GPU.重点是免费.免费!(国内可能需要tz) 这 ...
- Mathematics-基础:散列函数
一,概念: 散列(HASH)函数H也称哈希函数.是典型的多到一的函数,其输入为一可变长x(可以足够的长),输出一固定长的串h(一般为128位.160位,比输入的串短),该串h被称为输入x的Hash值. ...
- Bootstrap历练实例:响应式导航栏
响应式的导航栏 为了给导航栏添加响应式特性,您要折叠的内容必须包裹在带有 classes .collapse..navbar-collapse 的 <div> 中.折叠起来的导航栏实际上是 ...
- shell脚本,计算输入给定的数,判断最大值,最小值,总和?
[root@localhost ~]# cat five.sh #!/bin/bash #任意输入5个数,判断最大值,最小值,总和 s= read -p "please input:&quo ...
- windows显示文件扩展名
搜索打开windows的文件资源管理选项,如下去掉“隐藏已知文件类型的扩展名”即可 打开之后显示如下:
- GIMP的Path的合并于复制
1/Path的复制不能像图层一样简单的复制粘贴,只有通过merge的方法实现: 使要合并的Path处于可见状态,右击Path工具栏: 合并前与合并后比较: 2/向不同文件复制Path: 到另外一个 ...
- 力扣题目汇总(反转字符串中的单词,EXCEL表列序号,旋置矩阵)
反转字符串中的单词 III 1.题目描述 给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序. 示例 1: 输入: "Let's take LeetCode ...
- (转)浅谈测试驱动开发(TDD)
测试驱动开发(TDD)是极限编程的重要特点,它以不断的测试推动代码的开发,既简化了代码,又保证了软件质量.本文从开发人员使用的角度,介绍了 TDD 优势.原理.过程.原则.测试技术.Tips 等方面. ...
- strcpy与strcat函数原型
1.strcpy函数原型 char *my_strcpy(char *dest,const char *src) //const使在函数中不能修改*src其原先的值{ char *strDest ...