⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 file.cs

📁 os 课程设计不含文档 123456789
💻 CS
📖 第 1 页 / 共 5 页
字号:
                            }
                            block1 = Convert.ToInt32(disk_.buffer1[mubiaoweizhi * 16 + 11]);
                            block2 = Convert.ToInt32(disk_.buffer1[mubiaoweizhi * 16 + 12]);
                        }
                        string[] u = new string[8];
                        string[] v = new string[8];
                        disk_.readblock1(block1);
                        //mubiaoweizhi = -1;
                        byte[] fcbinfo = new byte[16];
                        for (int i = 0; i < 8; i++)
                        {
                            if (Convert.ToInt32(disk_.buffer1[i * 16 + 15]) == 1)
                            {
                                u[i] = Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 0])) + Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 1])) + Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 2])) + Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 3])) + Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 4])) + Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 5]));
                                v[i] = Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 6])) + Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 7])) + Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 8]));
                                u[i] = u[i].Trim();
                                v[i] = v[i].Trim();
                                if (u[i] == filename && v[i] == extname)
                                {
                                    
                                    for (int z = 0; z < 16; z++)
                                    {
                                        fcbinfo[z] = disk_.buffer1[i*16+z];
                                    }
                                    for (int x = 0; x < 16; x++)
                                    {
                                        disk_.buffer1[i * 16 + x] = Convert.ToByte(0);
                                    }

                                    disk_.writeblock1(block1);
                                }
                            }
                        }
                        disk_.readblock1(block2);
                        //mubiaoweizhi = -1;
                        for (int i = 0; i < 8; i++)
                        {
                            if (Convert.ToInt32(disk_.buffer1[i * 16 + 15]) == 1)
                            {
                                u[i] = Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 0])) + Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 1])) + Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 2])) + Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 3])) + Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 4])) + Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 5]));
                                v[i] = Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 6])) + Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 7])) + Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 8]));
                                u[i] = u[i].Trim();
                                v[i] = v[i].Trim();
                                if (u[i] == filename && v[i] == extname)
                                {
                                    
                                    for (int z = 0; z < 16; z++)
                                    {
                                        fcbinfo[z] = disk_.buffer1[i * 16 + z];
                                    }
                                    for (int x = 0; x < 16; x++)
                                    {
                                        disk_.buffer1[i * 16 + x] = Convert.ToByte(0);
                                    }
                                    disk_.writeblock1(block2);
                                }
                            }
                        }
                        ///////////////////////////////////////////////////////////////////////
                        mubiaoweizhi = -1;                      
                        
                        block1 = 1;
                        block2 = 2;
                        for (int i = 0; i < pathto.Length - 1; i++)
                        {
                            disk_.readblock1(block1);
                            string[] name = new string[8];
                            for (int n = 0; n < 8; n++)
                            {
                                name[n] = Convert.ToString(Convert.ToChar(disk_.buffer1[n * 16 + 0])) + Convert.ToString(Convert.ToChar(disk_.buffer1[n * 16 + 1])) + Convert.ToString(Convert.ToChar(disk_.buffer1[n * 16 + 2])) + Convert.ToString(Convert.ToChar(disk_.buffer1[n * 16 + 3])) + Convert.ToString(Convert.ToChar(disk_.buffer1[n * 16 + 4])) + Convert.ToString(Convert.ToChar(disk_.buffer1[n * 16 + 5]));
                                name[n] = name[n].Trim();
                            }
                            for (int m = 0; m < 8; m++)
                            {
                                if (name[m] == pathto[i + 1])
                                    mubiaoweizhi = m;
                            }
                            if (mubiaoweizhi == -1)
                            {
                                disk_.readblock1(block2);
                                for (int n = 0; n < 8; n++)
                                {
                                    name[n] = Convert.ToString(Convert.ToChar(disk_.buffer1[n * 16 + 0])) + Convert.ToString(Convert.ToChar(disk_.buffer1[n * 16 + 1])) + Convert.ToString(Convert.ToChar(disk_.buffer1[n * 16 + 2])) + Convert.ToString(Convert.ToChar(disk_.buffer1[n * 16 + 3])) + Convert.ToString(Convert.ToChar(disk_.buffer1[n * 16 + 4])) + Convert.ToString(Convert.ToChar(disk_.buffer1[n * 16 + 5]));
                                    name[n] = name[n].Trim();
                                }
                                for (int m = 0; m < 8; m++)
                                {
                                    if (name[m] == pathto[i + 1])
                                        mubiaoweizhi = m;
                                }
                            }
                            block1 = Convert.ToInt32(disk_.buffer1[mubiaoweizhi * 16 + 11]);
                            block2 = Convert.ToInt32(disk_.buffer1[mubiaoweizhi * 16 + 12]);
                        }
                        disk_.readblock1(block1);
                        mubiaoweizhi = -1;
                        for (int i = 0; i < 8; i++)
                        {
                            if (Convert.ToInt32(disk_.buffer1[i * 16 + 15]) == 0)
                                mubiaoweizhi = i;
                        }
                        if (mubiaoweizhi == -1)
                        {
                            disk_.readblock1(block2);
                            for (int i = 0; i < 8; i++)
                            {
                                if (Convert.ToInt32(disk_.buffer1[i * 16 + 15]) == 0)
                                    mubiaoweizhi = i;
                            }
                            for (int g = 0; g < 16; g++)
                            {
                                disk_.buffer1[mubiaoweizhi * 16 + g] = fcbinfo[g];
                            }

                            disk_.writeblock1(block2);
                        }
                        else
                        {
                            for (int g = 0; g < 16; g++)
                            {
                                disk_.buffer1[mubiaoweizhi * 16 + g] = fcbinfo[g];
                            }
                            disk_.writeblock1(block1);
                        }
                    #endregion
                    }
                    else
                    {
                        string filename = "";
                        string extname = "";
                        splitfilename(pathfrom[pathfrom.Length - 1], ref filename, ref extname);

                        int mubiaoweizhi = -1;


                        if (pathfrom[0] == "C")
                        {
                            disk_.diskfilename = disk_.diskfile[0];
                        }
                        else if (pathfrom[0] == "D")
                        {
                            disk_.diskfilename = disk_.diskfile[1];
                        }
                        else
                        {
                            disk_.diskfilename = disk_.diskfile[0];
                        }
                        int block1 = 1;
                        int block2 = 2;
                        for (int i = 0; i < pathfrom.Length - 2; i++)
                        {
                            disk_.readblock1(block1);
                            string[] name = new string[8];
                            for (int n = 0; n < 8; n++)
                            {
                                name[n] = Convert.ToString(Convert.ToChar(disk_.buffer1[n * 16 + 0])) + Convert.ToString(Convert.ToChar(disk_.buffer1[n * 16 + 1])) + Convert.ToString(Convert.ToChar(disk_.buffer1[n * 16 + 2])) + Convert.ToString(Convert.ToChar(disk_.buffer1[n * 16 + 3])) + Convert.ToString(Convert.ToChar(disk_.buffer1[n * 16 + 4])) + Convert.ToString(Convert.ToChar(disk_.buffer1[n * 16 + 5]));
                                name[n] = name[n].Trim();
                            }
                            for (int m = 0; m < 8; m++)
                            {
                                if (name[m] == pathfrom[i + 1])
                                    mubiaoweizhi = m;
                            }
                            if (mubiaoweizhi == -1)
                            {
                                disk_.readblock1(block2);
                                for (int n = 0; n < 8; n++)
                                {
                                    name[n] = Convert.ToString(Convert.ToChar(disk_.buffer1[n * 16 + 0])) + Convert.ToString(Convert.ToChar(disk_.buffer1[n * 16 + 1])) + Convert.ToString(Convert.ToChar(disk_.buffer1[n * 16 + 2])) + Convert.ToString(Convert.ToChar(disk_.buffer1[n * 16 + 3])) + Convert.ToString(Convert.ToChar(disk_.buffer1[n * 16 + 4])) + Convert.ToString(Convert.ToChar(disk_.buffer1[n * 16 + 5]));
                                    name[n] = name[n].Trim();
                                }
                                for (int m = 0; m < 8; m++)
                                {
                                    if (name[m] == pathfrom[i + 1])
                                        mubiaoweizhi = m;
                                }
                            }
                            block1 = Convert.ToInt32(disk_.buffer1[mubiaoweizhi * 16 + 11]);
                            block2 = Convert.ToInt32(disk_.buffer1[mubiaoweizhi * 16 + 12]);
                        }
                        string[] u = new string[8];
                        string[] v = new string[8];
                        disk_.readblock1(block1);
                        //mubiaoweizhi = -1;
                        byte[] fcbinfo = new byte[16];
                        byte[] buffinfo = new byte[128];
                        for (int i = 0; i < 8; i++)
                        {
                            if (Convert.ToInt32(disk_.buffer1[i * 16 + 15]) == 1)
                            {
                                u[i] = Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 0])) + Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 1])) + Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 2])) + Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 3])) + Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 4])) + Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 5]));
                                v[i] = Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 6])) + Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 7])) + Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 8]));
                                u[i] = u[i].Trim();
                                v[i] = v[i].Trim();
                                if (u[i] == filename && v[i] == extname)
                                {

                                    for (int z = 0; z < 16; z++)
                                    {
                                        fcbinfo[z] = disk_.buffer1[i * 16 + z];
                                    }
                                    
                                    disk_.readblock1(Convert.ToInt32(fcbinfo[11]));
                                    buffinfo = disk_.buffer1;
                                }
                            }
                        }
                        disk_.readblock1(block2);
                        //mubiaoweizhi = -1;
                        for (int i = 0; i < 8; i++)
                        {
                            if (Convert.ToInt32(disk_.buffer1[i * 16 + 15]) == 1)
                            {
                                u[i] = Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 0])) + Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 1])) + Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 2])) + Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 3])) + Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 4])) + Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 5]));
                                v[i] = Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 6])) + Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 7])) + Convert.ToString(Convert.ToChar(disk_.buffer1[i * 16 + 8]));
                                u[i] = u[i].Trim();
                                v[i] = v[i].Trim();
                                if (u[i] == filename && v[i] == extname)
                                {
                                    for (int z = 0; z < 16; z++)
                                    {
                                        fcbinfo[z] = disk_.buffer1[i * 16 + z];
                                    }

                                    disk_.readblock1(Convert.ToInt32(fcbinfo[11]));
                                    buffinfo = disk_.buffer1;
                                }
                            }
                        }
                        ///////////////////////////////////////////////////////////////////
                        if (pathto[0] == "C")
                        {
                            disk_.diskfilename = disk_.diskfile[0];
                        }
                        else if (pathto[0] == "D")
                        {
                            disk_.diskfilename = disk_.diskfile[1];
                        }
                        else
                        {
                            disk_.diskfilename = disk_.diskfile[0];
                        }
                        currentdir = command[2];
                        createfile(pathfrom[pathfrom.Length - 1]);
                    }

                }
           

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -