问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

ImageIO.write(); 会自动创建路径吗

发布网友 发布时间:2022-08-16 12:09

我来回答

2个回答

热心网友 时间:2023-10-05 10:27

1、通过Path类的Combine方法可以合并路径。
string activeDir = @"C:\myDir";
string newPath = System.IO.Path.Combine(activeDir, "mySubDirOne");

2、目录的创建。
创建目录时如果目录已存在,则不会重新创建目录,且不会报错。创建目录时会自动创建路径中各级不存在的目录。
(1)通过Directory类的CreateDirectory方法创建。
string activeDir = @"C:\myDir";
string newPath = System.IO.Path.Combine(activeDir, "mySubDirOne");
System.IO.Directory.CreateDirectory(newPath);

(1)通过DirectoryInfo的对象创建。
System.IO.DirectoryInfo di = new System.IO.DirectoryInfo(@"C:\myDirTwo\mySubDirThree");
di.Create();

3、文件的创建。
通过Create方法创建文件,会覆盖同名的现有文件。创建文件时,该文件所在路径的目录必须存在,否则报错。
(1)通过File类的Create方法创建。

string activeDir = @"C:\myDir";
string newPath = System.IO.Path.Combine(activeDir, "mySubDirOne");
System.IO.Directory.CreateDirectory(newPath);

//创建一个空白文件
string fileNameOne = DateTime.Now.ToString("yyyyMMddHHmmssffff")
+ ".txt";
string filePathOne = System.IO.Path.Combine(newPath, fileNameOne);
System.IO.File.Create(filePathOne);

(2)通过FileInfo对象创建。

//通过Combine合并目录
//然后创建目录
string activeDir = @"C:\myDir";
string newPath = System.IO.Path.Combine(activeDir, "mySubDirOne");
System.IO.Directory.CreateDirectory(newPath);

//创建一个空白文件
string fileNameOne = DateTime.Now.ToString("yyyyMMddHHmmssffff")
+ ".txt";
string filePathOne = System.IO.Path.Combine(newPath, fileNameOne);
System.IO.FileInfo fi = new System.IO.FileInfo(filePathOne);
fi.Create();

复制目录文件

//复制单个文件到指定目录
string fileName = "test.txt";
string sourcePath = @"C:\testDir\subTestDir";
string targetPath = @"C:\testDir\subTestDirTwo";

string sourceFile = System.IO.Path.Combine(sourcePath, fileName);
string destFile = System.IO.Path.Combine(targetPath, fileName);

if (!System.IO.Directory.Exists(targetPath))
System.IO.Directory.CreateDirectory(targetPath);

//如果已存在,参数为false时将报错,参数为true重写该文件
//当copy方法为两个参数时,默认重写为false。
System.IO.File.Copy(sourceFile, destFile, true);

//以下为复制一个目录下所有文件到指定目录
//如果复制有子目录的目录的所有文件,可以用递归或堆栈算法实现
if (System.IO.Directory.Exists(sourcePath))
{
string[] files = System.IO.Directory.GetFiles(sourcePath);

foreach (string s in files)
{
//仅返回路径字符串的文件名及后缀
fileName = System.IO.Path.GetFileName(s);
destFile = System.IO.Path.Combine(targetPath, fileName);
System.IO.File.Copy(s, destFile, true);
}
}

}

移动目录和文件

/*移动文件*/
string sourceFile = @"C:\testDir\subTestDir\test.txt";
string destFile = @"C:\testDir\subTestDirTwo\test.txt";
//当目标文件存在时,抛出异常
System.IO.File.Move(sourceFile, destFile);

/*移动目录*/
//移动目录将移动改目录的子目录和文件
System.IO.Directory.Move(@"C:\testDir\subTestDirTwo\", @"C:\testDir\subTestDir");

删除目录和文件
1、删除目录
删除目录,如果该目录不存在,会抛出异常。可以通过File类的Delete方法删除目录,也可以通过FileInfo对象方法删除目录。
(1)通过 File类的Delete方法删除目录

//删除可写空目录
//如果不为空抛出目录不为空异常
try
{
System.IO.Directory.Delete(@"C:\testDir\subTestDir");
}
catch (System.IO.IOException e)
{
Console.WriteLine(e.Message);
}

//第二参数为false时,只能删除空目录,否则抛出不为空异常
//第二参数为true时,删除目录,包括子目录和文件
try
{
System.IO.Directory.Delete(@"C:\testDir\subTestDir", true);
}
catch(System.IO.IOException e)
{
Console.WriteLine(e.Message);
}

(2)通过FileInfo对象方法删除目录

System.IO.DirectoryInfo di = new System.IO.DirectoryInfo(@"C:\testDir\subTestDirTwo");
try
{
//无参数删除空目录
//当参数为false,可删除空目录;为true,删除目录,包括子目录和文件
di.Delete(true);
}
catch (System.IO.IOException e)
{
Console.WriteLine(e.Message);
}

2、删除文件
删除文件时如果指定文件的目录存在,而文件不存在,则不会抛出异常,如果指定文件的目录不存在,则会抛出异常。
(1)通过File类Delete方法删除文件

try
{
System.IO.File.Delete(@"C:\testDir\subTestDir\test.txt");
}
catch(System.IO.IOException e)
{
Console.WriteLine(e.Message);
}

(2)通过FileInfo对象Delete方法删除文件

System.IO.FileInfo fi = new System.IO.FileInfo(@"C:\testDir\subTestDir\test1.txt");
try
{
fi.Delete();
}
catch(System.IO.IOException e)
{
Console.WriteLine(e.Message);
}

热心网友 时间:2023-10-05 10:28

这个是位或,不是与。位或、位与是这样计算的。如:二进制的010|001结果是011,而010&001结果就是0了。O_WRONLY和O_CREAT的关系就相当于上面的010和001。他们位或的值不是0,位与的值就是0了。0表示什么都不做。用了位或后,就在一个整型的值上设置了不同的标志位,open函数会检测对应的标志位,如果该标志位设置为1了,就执行对应的操作。O_CREAT的意思就是创建的意思,在这里就是将创建文件的标志位设置为1,这样open函数无法写这个文件的时候就会创建他。

热心网友 时间:2023-10-05 10:27

1、通过Path类的Combine方法可以合并路径。
string activeDir = @"C:\myDir";
string newPath = System.IO.Path.Combine(activeDir, "mySubDirOne");

2、目录的创建。
创建目录时如果目录已存在,则不会重新创建目录,且不会报错。创建目录时会自动创建路径中各级不存在的目录。
(1)通过Directory类的CreateDirectory方法创建。
string activeDir = @"C:\myDir";
string newPath = System.IO.Path.Combine(activeDir, "mySubDirOne");
System.IO.Directory.CreateDirectory(newPath);

(1)通过DirectoryInfo的对象创建。
System.IO.DirectoryInfo di = new System.IO.DirectoryInfo(@"C:\myDirTwo\mySubDirThree");
di.Create();

3、文件的创建。
通过Create方法创建文件,会覆盖同名的现有文件。创建文件时,该文件所在路径的目录必须存在,否则报错。
(1)通过File类的Create方法创建。

string activeDir = @"C:\myDir";
string newPath = System.IO.Path.Combine(activeDir, "mySubDirOne");
System.IO.Directory.CreateDirectory(newPath);

//创建一个空白文件
string fileNameOne = DateTime.Now.ToString("yyyyMMddHHmmssffff")
+ ".txt";
string filePathOne = System.IO.Path.Combine(newPath, fileNameOne);
System.IO.File.Create(filePathOne);

(2)通过FileInfo对象创建。

//通过Combine合并目录
//然后创建目录
string activeDir = @"C:\myDir";
string newPath = System.IO.Path.Combine(activeDir, "mySubDirOne");
System.IO.Directory.CreateDirectory(newPath);

//创建一个空白文件
string fileNameOne = DateTime.Now.ToString("yyyyMMddHHmmssffff")
+ ".txt";
string filePathOne = System.IO.Path.Combine(newPath, fileNameOne);
System.IO.FileInfo fi = new System.IO.FileInfo(filePathOne);
fi.Create();

复制目录文件

//复制单个文件到指定目录
string fileName = "test.txt";
string sourcePath = @"C:\testDir\subTestDir";
string targetPath = @"C:\testDir\subTestDirTwo";

string sourceFile = System.IO.Path.Combine(sourcePath, fileName);
string destFile = System.IO.Path.Combine(targetPath, fileName);

if (!System.IO.Directory.Exists(targetPath))
System.IO.Directory.CreateDirectory(targetPath);

//如果已存在,参数为false时将报错,参数为true重写该文件
//当copy方法为两个参数时,默认重写为false。
System.IO.File.Copy(sourceFile, destFile, true);

//以下为复制一个目录下所有文件到指定目录
//如果复制有子目录的目录的所有文件,可以用递归或堆栈算法实现
if (System.IO.Directory.Exists(sourcePath))
{
string[] files = System.IO.Directory.GetFiles(sourcePath);

foreach (string s in files)
{
//仅返回路径字符串的文件名及后缀
fileName = System.IO.Path.GetFileName(s);
destFile = System.IO.Path.Combine(targetPath, fileName);
System.IO.File.Copy(s, destFile, true);
}
}

}

移动目录和文件

/*移动文件*/
string sourceFile = @"C:\testDir\subTestDir\test.txt";
string destFile = @"C:\testDir\subTestDirTwo\test.txt";
//当目标文件存在时,抛出异常
System.IO.File.Move(sourceFile, destFile);

/*移动目录*/
//移动目录将移动改目录的子目录和文件
System.IO.Directory.Move(@"C:\testDir\subTestDirTwo\", @"C:\testDir\subTestDir");

删除目录和文件
1、删除目录
删除目录,如果该目录不存在,会抛出异常。可以通过File类的Delete方法删除目录,也可以通过FileInfo对象方法删除目录。
(1)通过 File类的Delete方法删除目录

//删除可写空目录
//如果不为空抛出目录不为空异常
try
{
System.IO.Directory.Delete(@"C:\testDir\subTestDir");
}
catch (System.IO.IOException e)
{
Console.WriteLine(e.Message);
}

//第二参数为false时,只能删除空目录,否则抛出不为空异常
//第二参数为true时,删除目录,包括子目录和文件
try
{
System.IO.Directory.Delete(@"C:\testDir\subTestDir", true);
}
catch(System.IO.IOException e)
{
Console.WriteLine(e.Message);
}

(2)通过FileInfo对象方法删除目录

System.IO.DirectoryInfo di = new System.IO.DirectoryInfo(@"C:\testDir\subTestDirTwo");
try
{
//无参数删除空目录
//当参数为false,可删除空目录;为true,删除目录,包括子目录和文件
di.Delete(true);
}
catch (System.IO.IOException e)
{
Console.WriteLine(e.Message);
}

2、删除文件
删除文件时如果指定文件的目录存在,而文件不存在,则不会抛出异常,如果指定文件的目录不存在,则会抛出异常。
(1)通过File类Delete方法删除文件

try
{
System.IO.File.Delete(@"C:\testDir\subTestDir\test.txt");
}
catch(System.IO.IOException e)
{
Console.WriteLine(e.Message);
}

(2)通过FileInfo对象Delete方法删除文件

System.IO.FileInfo fi = new System.IO.FileInfo(@"C:\testDir\subTestDir\test1.txt");
try
{
fi.Delete();
}
catch(System.IO.IOException e)
{
Console.WriteLine(e.Message);
}

热心网友 时间:2023-10-05 10:28

这个是位或,不是与。位或、位与是这样计算的。如:二进制的010|001结果是011,而010&001结果就是0了。O_WRONLY和O_CREAT的关系就相当于上面的010和001。他们位或的值不是0,位与的值就是0了。0表示什么都不做。用了位或后,就在一个整型的值上设置了不同的标志位,open函数会检测对应的标志位,如果该标志位设置为1了,就执行对应的操作。O_CREAT的意思就是创建的意思,在这里就是将创建文件的标志位设置为1,这样open函数无法写这个文件的时候就会创建他。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
梦见好多鱼在水里活蹦乱跳 教你如何将让reaver PIN 进度随意更改精确前四位 求个保存PIN进度的方法 ...不上外接键盘,但鼠标一直有用,谁能告诉我怎么回事,先谢了。。_百度... 相机SD卡,卡上图片电脑显示不出来 相机SD卡用读卡器插到电脑上DCIM文件夹不显示照片怎么解决? win10查询错误日志的方法-win10怎么查询错误日志 电脑系统日志文件如何查看电脑里的系统日志 电脑事件日志在哪里看怎样查看电脑使用的日志 win11系统日志在哪里看 win11系统日志怎么看 简述如何使用IE浏览器打开地址为http时,并将网页添加收藏夹中,名称为列车时_百度问一问 如何安装Microsoft Office Document Image Writer打印机? 用立组词填空在这句子上 黄山劲松像一个个威武的哨兵,( )在高山之巅. 我觉得 是世界上最美的,因为它.造句 暮色苍茫看劲松清朝诗人谁写过这样的句子 肾囊肿饮食治疗原则有哪些呢 肾囊肿不能吃什么 为什么我手机接信息没有提示音? 接信息没有声音什么原因 梦见乌龟下蛋什么意思 一条屏蔽部分人的朋友圈底下为什么会有标记 编辑短信nu31是什么意思- 问一问 什么意思帮帮忙,急 我微信被封号,可是输入电话号和验证码的栏里面输入的是其他号,还不能删除,我自己的电话号码填不上去 申请信用卡年薪怎么填写,我一年也就七八万块钱,因为我这里属于乡下,而且我学历也不高我所在的工作单 妈妈给儿子最暖心的生日祝福 换驾照要几张一寸照片 西直门动物园 如何从北京南站(京津城际站)到西直门 北京 地铁 倒351 怎么倒车? ImageIO.write报错:FileNotFoundException u盘怎样open suse linux ImageIO.write(img, "jpeg", response.getOutputStream());时报错 我安了Microsoft Office Document Image Writer打印机,与实体机联机为什麽打印不出来啊 imageio.write有关闭输出流吗 Docker 如何指定某一个容器的存放位置,而不是修改默认的存放位置? 造句(),于是() 中国移动的那个专项预存款可用金额怎么用的 移动预存款是什么意思我没交200啊 车辆启动后稍微加油后一般怠速多少 大家的车冷车启动后怠速是多少 梦见池子里有好多鱼,有一对鱼连在一起还偷吃池子里的鱼,老公就把那一对鱼给杀了 梦见老公剥好多鱼 行车记录仪设置键在哪?记录仪怎么设置是最好的 弟的小孩怎么称呼 弟的小孩如何称呼 弟弟的孩子叫什么 请问 叫弟小孩什么称呼? 小红书怎么注册两个号? 扶她是什么意思啊?? 十二生肖表图片2022,2001生肖号码卡照