资源简介
操作系统的作业, 要求做一个简单的二级文件系统。
实现下列命令(至少两个)。
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个文件信息
相关资源
- 东南大学操作系统期末试卷
- 广工操作系统课程设计-多道批处理两
- 重庆大学操作系统试卷
- 操作系统考纲样题及试卷
- 东南大学 操作系统试卷
- 自动售货机模拟操作系统代码
- 杭电操作系统往年期末试卷
- 操作系统实验八 磁盘移臂调度算法实
- 东北大学操作系统题库资料
- 重庆大学操作系统期末试卷
- 中国海洋大学操作系统试卷
- 51单片机多任务的切换和堆栈的保护
- 武汉大学高级操作系统结课题目及答
- 南京大学操作系统期末试卷适合考研
- 操作系统- SPOOLing输出模拟实验报告
- 07-09年东北大学操作系统试卷、答案
- 实验二、进程通信-管道及共享内存
- 南昌航空大学操作系统考点
- μC/OS-II在MCS-51单片机移植
- 操作系统课程设计多道批处理系统两
- 操作系统课程设计报告-生产者与消费
- 操作系统模拟分页式存储管理中硬件
- 操作系统第五版第一章到第五章答案
- 操作系统—精髓与设计原理myshell项目
- S3C44b0上移植vxworks操作系统的bsp
- 山东大学操作系统实验代码
- 分时操作系统在单片机中的实现
- rocky凝思操作系统ISO镜像刻录到U盘里
- 内存管理选择题.txt
- 苏州大学操作系统实验报告四可变分
评论
共有 条评论