directorycreate directory 后,如何删除是DELETE directory吗

directory  时间:2021-08-17  阅读:()

电脑突然白屏,出现“GDI+中发生一般性错误”,怎么解决?

这是我找到的,虽然我不太懂这个。



今天在开发引用程序中,需要System.Drawing.Image.Save 创建图片,debug的时候程序一切正常,可是发布到IIS后缺提示出现“GDI+中发生一般性错误”的异常。

于是开始“摆渡”,并寻找到了解决办法:赋予 NETWORK SERVICE 帐户以写权限。

以下为晚上寻找到的资料: 在开发.NET应用中,使用 System.Drawing.Image.Save 方法而导致“GDI+ 中发生一般性错误”的发生,通常有以下三种原因: 1. 相应的帐户没有写权限。

解决方法:赋予 NETWORK SERVICE 帐户以写权限。

2. 指定的物理路径不存在。

解决方法: 在调用 Save 方法之前,先判断目录是否存在,若不存在,则创建。

if (!Directory.Exists(dirpath)) Directory.CreateDirectory(dirpath); 3. 保存的文件已存在并因某种原因被锁定。

解决方法: 重启IIS,解除锁定。

并在代码中使用 using 语句,确保释放 Image 对象所使用的所有资源。

我遇到的情况: 在编写Chem.NET的时候要保存图片,我先用openFileDialog打开图片文件,然后用saveFileDialog保存文件时就出现了 “GDI+中发生一般性错误”,我当时就想到是打开的文件还没有释放出来,于是用openFileDialog1.Dispose()来释放,可是没有成功。

同样从一个MemorySream 实例打开一个Image后,立即关闭了这个流,结果在Image.Save时也会发生这种错误。

我“摆渡”了很久都是遇到和我一样问题的人,CSDN上面的同志也没有给出一个实用的答案。

最后终于还是在微软的网站上找到了答案:(以下是官方解决办法) 症状 Bitmap 对象或一个 图像 对象从一个文件, 构造时该文件仍保留锁定对于对象的生存期。

因此, 无法更改图像并将其保存回它产生相同的文件。

替代方法 ? 创建非索引映像。

? 创建索引映像。

这两种情况下, 原始 位图 上调用 Bitmap.Dispose() 方法删除该文件上锁或删除要求, 流或内存保持活动。

创建非索引图像 即使原始映像被索引格式中该方法要求新图像位于每像素 (超过 8 位 -) -, 非索引像素格式。

此变通方法使用 Graphics.DrawImage() 方法来将映像复制到新 位图 对象: 1. 构造从流、 从内存, 或从文件原始 位图 。

2. 创建新 位图 的相同大小, 带有是超过 8 位 - - 像素 (BPP) 每像素格式。

3. 使用 Graphics.FromImage() 方法以获取有关二 位图 Graphics 对象。

4. 用于 Graphics.DrawImage() 绘制首 位图 到二 位图 。

5. 用于 Graphics.Dispose() 处置是 图形 。

6. 用于 Bitmap.Dispose() 是首 位图 处置。

创建索引映像 此解决办法在索引格式创建一个 Bitmap 对象: 1. 构造从流、 从内存, 或从文件原始 位图 。

2. 创建新 位图 具有相同的大小和像素格式作为首 位图 。

3. 使用 Bitmap.LockBits() 方法来锁定整个图像对于两 Bitmap 对象以其本机像素格式。

4. 使用 Marshal.Copy 函数或其他内存复制函数来从首 位图 复制到二 位图 图像位。

5. 使用 Bitmap.UnlockBits() 方法可以解锁两 Bitmap 对象。

6. 用于 Bitmap.Dispose() 是首 位图 处置。

由于外国人的思维和我们不一样,我重新用实例解释一下,我这里使用的是创建非索引图像。

private void ToolStripMenuItem_Click(object sender, EventArgs e) { if (openFileDialog1.ShowDialog() == DialogResult.OK) { //创建一个bitmap类型的bmp变量来读取文件。

Bitmap bmp = new Bitmap(openFileDialog1 .FileName ); //新建第二个bitmap类型的bmp2变量,我这里是根据我的程序需要设置的。

Bitmap bmp2 = new Bitmap(1024, 768, PixelFormat.Format16bppRgb555); //将第一个bmp拷贝到bmp2中 Graphics draw = Graphics.FromImage(bmp2); draw.DrawImage(bmp,0,0); pictureBox1.Image = (Image)bmp2 ;//读取bmp2到picturebox FILE = openFileDialog1.FileName; openFileDialog1.Dispose(); draw.Dispose(); bmp.Dispose();//释放bmp文件资源 } } 通过以上的读取文件,在保存的时候就不会出现错误了。

C# Directory的问题

string file1 = @"d:file1"; string file2 = @"d:file2"; Directory.CreateDirectory(file1); Directory.CreateDirectory(file2); Directory.Move(file2,file1 + @"file2");

c#中 directory可以创建文件夹吗

以下代码首先检查指定的文件夹是否存在,若存在则删除之,否则创建之。

接下来移动文件夹,在其中创建文件并统计文件夹中文件数目。

using System; using System.IO; class Test { public static void Main() { // Specify the directories you want to manipulate. string path = @"c:MyDir"; string target = @"c:TestDir"; try { // Determine whether the directory exists. if (!Directory.Exists(path)) { // Create the directory it does not exist. Directory.CreateDirectory(path); } if (Directory.Exists(target)) { // Delete the target to ensure it is not there. Directory.Delete(target, true); } // Move the directory. Directory.Move(path, target); // Create a file in the directory. File.CreateText(target + @"myfile.txt"); // Count the files in the target directory. Console.WriteLine("The number of files in {0} is {1}", target, Directory.GetFiles(target).Length); } catch (Exception e) { Console.WriteLine("The process failed: {0}", e.ToString()); } finally {} } }

create directory 后,如何删除是DELETE directory吗

一个根文件夹,底下包含多级目录,每一级又存在多个个子文件夹,每个文件夹里面又存在多个文件。

  如果要删除所有子文件又保存最顶级的目录文件夹,那采用什么办法处理好呢?   处理方法   1、 直接删除根文件夹,然后再创建根文件夹。

  void deleteAllFile(string path)   {   Directory.Delete(path,true);   Directory.CreateDirectory(path);   }   2、遍历所有子目录文件夹的文件,逐个删除。

  ///   /// 遍历文件夹及子文件夹所有文件   ///   /// string dir=ListFiles(new DirectoryInfo(dir));   /// 文件夹目录路径   /// 返回ArrayList对象   public static System.Collections.ArrayList ListFiles(string fileDirectory)   {   ArrayList arylist = null;   if (Directory.Exists(fileDirectory))   {   DirectoryInfo dinfo = new DirectoryInfo(fileDirectory);   if (dinfo != null)   {   FileSystemInfo[] files = dinfo.GetFileSystemInfos();   for (int i = 0; i < files.Length; i++)   {   FileInfo file = files[i] as FileInfo;   if (file != null)   {   if (arylist == null)   arylist = new ArrayList();   arylist.Add(file);   }   else   {   ListFiles(files[i].FullName); //对于子目录,进行递归调用   }   }   }   }   return arylist;   }   用第一个方法最直接,不用递归,不用遍历,但调用系统的方法,不知道内部原理怎么运行的。

  总体来说应该是第一种方法比第二种方法的性能要好!待进一步求证。

  删除一个文件夹下所有文件可以用如下文件方法。

  void deleteAllFile(string path)   {   foreach (string dirStr in Directory.GetDirectories(path))   {   DirectoryInfo dir = new DirectoryInfo(dirStr);   }   ArrayList folders=new ArrayList();   FileSystemInfo[] fileArr = dir.GetFileSystemInfos();   for (int i = 0; i < folders.Count; i++)   {   FileInfo f = folders[i] as FileInfo;   if (f == null)   {   DirectoryInfo d = folders[i] as DirectoryInfo;   d.Delete();   }   }   }

盘点618年中大促中这款云服务器/VPS主机相对值得选择

昨天有在"盘点2021年主流云服务器商家618年中大促活动"文章中整理到当前年中大促618活动期间的一些国内国外的云服务商的促销活动,相对来说每年年中和年末的活动力度还是蛮大的,唯独就是活动太过于密集,而且商家比较多,导致我们很多新人不懂如何选择,当然对于我们这些老油条还是会选择的,估计没有比我们更聪明的进行薅爆款新人活动。有网友提到,是否可以整理一篇当前的这些活动商家中的促销产品。哪些商家哪款产...

95IDC香港特价物理机服务器月付299元起,5个ip/BGP+CN2线路;美国CERA服务器仅499元/月起

95idc是一家香港公司,主要产品香港GIA线路沙田CN2线路独服,美国CERA高防服务器,日本CN2直连服务器,即日起,购买香港/日本云主机,在今年3月份,95IDC推出来一款香港物理机/香港多ip站群服务器,BGP+CN2线路终身7折,月付350元起。不过今天,推荐一个价格更美的香港物理机,5个ip,BGP+CN2线路,月付299元起,有需要的,可以关注一下。95idc优惠码:优惠码:596J...

RAKsmart:美国圣何塞服务器限量秒杀$30/月起;美国/韩国/日本站群服务器每月189美元起

RAKsmart怎么样?RAKsmart是一家由华人运营的国外主机商,提供的产品包括独立服务器租用和VPS等,可选数据中心包括美国加州圣何塞、洛杉矶、中国香港、韩国、日本、荷兰等国家和地区数据中心(部分自营),支持使用PayPal、支付宝等付款方式,网站可选中文网页,提供中文客服支持。本月商家继续提供每日限量秒杀服务器月付30.62美元起,除了常规服务器外,商家美国/韩国/日本站群服务器、1-10...

directory为你推荐
查杀木马怎样手动查杀木马通话宝什么是来电宝?有什么用处?网站数据分析报告网站要怎么去做分析报告?价格咨询心理咨询价格昂贵吗封包是什么灰指甲封包治疗是什么,真的管用吗?最好的电脑操作系统主流的电脑操作系统都有哪些?照片ps是什么意思照片PS:PS是什么意思云电视是什么意思创维电视和创维云电视是同一厂家吗大数据人才培养哪些大学开设了大数据专业,并且已经有了应届毕业生余额宝客户端手机支付宝客户端在哪里?
重庆域名注册 台湾服务器租用 vps是什么 电影服务器 webhostingpad cdn服务器 轻博 最好的空间 本网站在美国维护 网站cdn加速 699美元 徐正曦 泉州电信 129邮箱 电信虚拟主机 购买国外空间 linux使用教程 服务器硬件防火墙 美国独立日 美国盐湖城 更多