资源简介

操作系统的作业, 要求做一个简单的二级文件系统。 实现下列命令(至少两个)。 DELETE 删除文件 CLOSE 关闭文件 READ 读文件(显示出读的文件的内容) WRITE 写文件(对原文件改写或添加内容,并显示修改后的文件内容) 然后我就想做一个稍微完整一点了, 花了两天时间, 利用两张Datatable来存储用户表和文件表, 接着把数据保存到本地的XML内, 理解起来很简单, 只能说是模拟了二级文件系统管理方式. 很多细节就懒得优化了, 比如重复打开文件问题, 没时间就没解决. 望大家多多指教.

资源截图

代码片段和文件信息

using System;
using System.Data;
using System.IO;

namespace 二级文件管理系统
{
    class DataSetOperater
    {
        //申明两个表以及表集合
        static private DataSet ds = new DataSet(“FileManager“);
        static private DataTable dtUser = new DataTable(“User“);
        static private DataTable dtFile = new DataTable(“File“);

        /// 
        /// 加载表集合的时候如果有数据文件就直接读取 没有就初始化一个
        /// 

        public void Load()
        {
            //判断根目录下是否存在文件
            if (File.Exists(“MyFMS_DataS.xml“))
            {
                //存在的话就把文件读入到DataSet内
                ds.Readxml(“MyFMS_DataS.xml“);

            }
            else
            {
                //初始化Datatable
                dtUser.Columns.Add(“user“ typeof(string));
                dtUser.Columns.Add(“password“ typeof(string));

                dtFile.Columns.Add(“user“ typeof(string));
                dtFile.Columns.Add(“FileName“ typeof(string));
                dtFile.Columns.Add(“FileConrent“ typeof(string));
                dtFile.Columns.Add(“FileTime“ typeof(string));

                //将两个内存表增加到Dataset对象ds的表集合中
                ds.Tables.Add(dtFile);
                ds.Tables.Add(dtUser);

                //初始化个超级管理员
                object[] add_dt = new object[2];
                add_dt[0] = “admin“;
                add_dt[1] = “admin“;

                Add(add_dt “User“);

                //初始化个超级管理员
                object[] add_dt2 = new object[4];
                add_dt2[0] = “admin“;
                add_dt2[1] = “程序说明“;
                add_dt2[2] = “本程序是用来模拟操作系统的二级文件管理系统\n\n概念:二级文件管理简单理解就是创建一个数组用来存储用户信息每个数组元素在对应一个数组用来存储文件信息.管理员账户可以读写所有用户创建的文件而特定的用户只能读写自己创建的文件只读别人创建的文件.\n\n实现方式:本程序是利用两个Datatable 一个用来存储用户资料(用户名 密码) 另一张表用来存储文件信息(用户名 文件名 文件内容 创建时间) 利用这两张表就可实现简单的二级文件模拟管理操作.\n\nby Cinwell“;
                add_dt2[3] = DateTime.Now.ToString();

                Add(add_dt2 “File“);

                ////设置主键和外键约束
                //UniqueConstraint uc = new UniqueConstraint(“ucUser“ ds.Tables[“User“].Columns[“user“] true);
                //ds.Tables[“User“].Constraints.Add(uc);

                //ForeignKeyConstraint fc = new ForeignKeyConstraint(“fcUser“ ds.Tables[“User“].Columns[“User“] ds.Tables[“File“].Columns[“User“]);
                //ds.Tables[“File“].Constraints.Add(fc);
                
                //保存DataSet
                ds.Writexml(“MyFMS_DataS.xml“);
            }
        }

        /// 
        /// 保存文件
        /// 

        public void Save()
        {
            //保存DataSet
            ds.Writexml(“MyFMS_DataS.xml“);
        }

        /// 
        /// 往Table添加一行数据
        /// 

        /// 数组数据
        /// 表名
        public void Add(object[] add_dt string tName)
        {
            ds.Tables[tName].Rows.Add(add_dt);
            Save();
  

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        962  2013-12-15 12:13  MyFMS\MyFMS.sln

    ..A..H.     61440  2013-12-16 12:53  MyFMS\MyFMS.v11.suo

     文件        187  2013-12-15 12:12  MyFMS\二级文件管理系统\App.config

     文件      28672  2013-12-16 12:53  MyFMS\二级文件管理系统\bin\Debug\二级文件管理系统.exe

     文件        187  2013-12-15 12:12  MyFMS\二级文件管理系统\bin\Debug\二级文件管理系统.exe.config

     文件      77312  2013-12-16 12:53  MyFMS\二级文件管理系统\bin\Debug\二级文件管理系统.pdb

     文件      22984  2013-12-16 12:53  MyFMS\二级文件管理系统\bin\Debug\二级文件管理系统.vshost.exe

     文件        187  2013-12-15 12:12  MyFMS\二级文件管理系统\bin\Debug\二级文件管理系统.vshost.exe.config

     文件        490  2012-06-06 02:06  MyFMS\二级文件管理系统\bin\Debug\二级文件管理系统.vshost.exe.manifest

     文件       6398  2013-12-16 12:53  MyFMS\二级文件管理系统\DataSetOperater.cs

     文件       1831  2013-12-16 12:11  MyFMS\二级文件管理系统\FormAlterPwd.cs

     文件       4736  2013-12-15 21:27  MyFMS\二级文件管理系统\FormAlterPwd.Designer.cs

     文件       5817  2013-12-15 21:27  MyFMS\二级文件管理系统\FormAlterPwd.resx

     文件       3168  2013-12-16 12:49  MyFMS\二级文件管理系统\FormFile.cs

     文件       4947  2013-12-16 12:49  MyFMS\二级文件管理系统\FormFile.Designer.cs

     文件       5817  2013-12-16 12:49  MyFMS\二级文件管理系统\FormFile.resx

     文件       2249  2013-12-16 12:11  MyFMS\二级文件管理系统\FormLogin.cs

     文件       4576  2013-12-15 20:04  MyFMS\二级文件管理系统\FormLogin.Designer.cs

     文件       5817  2013-12-15 20:04  MyFMS\二级文件管理系统\FormLogin.resx

     文件       5018  2013-12-16 12:43  MyFMS\二级文件管理系统\FormMain.cs

     文件      11044  2013-12-16 12:21  MyFMS\二级文件管理系统\FormMain.Designer.cs

     文件       5817  2013-12-16 12:21  MyFMS\二级文件管理系统\FormMain.resx

     文件       2643  2013-12-16 12:11  MyFMS\二级文件管理系统\FormNewUser.cs

     文件       5815  2013-12-15 19:58  MyFMS\二级文件管理系统\FormNewUser.Designer.cs

     文件       5817  2013-12-15 19:58  MyFMS\二级文件管理系统\FormNewUser.resx

     文件       2590  2013-12-16 12:11  MyFMS\二级文件管理系统\FormUserListview.cs

     文件       4617  2013-12-15 21:29  MyFMS\二级文件管理系统\FormUserListview.Designer.cs

     文件       5817  2013-12-15 21:29  MyFMS\二级文件管理系统\FormUserListview.resx

     文件       1464  2013-12-15 14:07  MyFMS\二级文件管理系统\obj\Debug\DesignTimeResolveAssemblyReferences.cache

     文件       7047  2013-12-15 17:56  MyFMS\二级文件管理系统\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache

............此处省略37个文件信息

评论

共有 条评论