c#中如何检测文件路径是否存在

c#中如何检测文件路径是否存在,第1张

// C#提供了现有的函数,可判断文件路径是否存在;

DirectoryExists(path);         // path表示路径参数;可判断文件路径是否存在

DirectoryCreateDirectory(path);// path表示路径参数;可创建目录

FileExists(path);              // path表示路径参数;可判断文件是否存在

//引用命名空间

using SystemIO;

string path = @"C:\Program Files\MicrosoftNET";

if (!DirectoryExists(path))

{

    ConsoleWriteLine("文件路径不存在!");

   // DirectoryCreateDirectory(path);  //创建目录

}

/        

DirectoryExists 方法 MSDN说明:

             

命名空间:using SystemIO;

程序集:  mscorlib(在 mscorlibdll 中)

 

参数 path

类型:SystemString 要测试的路径。

返回值类型:SystemBoolean

如果 path 引用现有目录,则为 true;否则为 false。

 

备注:

1 允许 path 参数指定相对或绝对路径信息。 相对路径信息被解释为相对于当前工作目录。

2 检查该目录是否存在之前,从 path 参数的末尾移除尾随空格。

3 path 参数不区分大小写。

4 如果您没有该目录的最小只读权限,Exists 方法将返回 false。

5 如果在尝试确定是否存在指定的文件时发生任何错误,则该 Exists 方法返回 false。 可能在引发异常(如使用无效的字符传递文件名或字符过多、磁盘失效或缺失)时发生,也可能在调用方无文件读取权限时发生。

             

/

//MSDN代码示例

//引用命名空间

using SystemIO;

string path = @"C:\Program Files\MicrosoftNET";

if (FileExists(path))

{

    ConsoleWriteLine("这是一个文件");

}

else if (DirectoryExists(path))

{

    ConsoleWriteLine("这是一个文文件夹");

}

else

{

    ConsoleWriteLine("{0} 不是文件也不是文件夹", path);

}

C语言中对文件进行 *** 作必须打开文件,打开文件主要涉及到

fopen函数

。fopen函数的原型为

FILE

fopen(const

char

path,const

char

mode)

其中path为文件路径,mode为打开方式

1)对于文件路径,只需注意若未明确给出

绝对路径

,则默认该文件在工程的目录下。若需给出绝对路径,则注意

转义字符

'\',比如有文件testtxt存放在

C盘

根目录下,则文件路径参数值应为C:\\testtxt。

2)对于mode,主要由r,w,a,+,b,t六个字符组合而成。

r:只读方式,文件必须存在

w:只写方式,若文件存在,则原有内容会被清除;若文件不存在,则会建立文件

a:追加方式打开只写文件,只允许进行写 *** 作,若文件存在,则添加的内容放在文件末尾;若不存在,则建立文件

+:可读可写

b:以二进制方式打开文件

t:以文本方式打开文件(默认方式下以文本方式打开文件)

下面是常见的组合:

r:

以只读的方式打开文件,只允许读,此文件必须存在,否则返回NULL,打开成功后返回

文件指针

,位置指针指向文件头部

r+:

以可读可写的方式打开文件,允许读写,此文件必须存在,否则返回NULL,打开成功后返回文件指针,位置指针指向文件头部

rb+:

以可读可写、二进制方式打开文件,允许读写,此文件必须存在,否则返回NULL,打开成功后返回文件指针,位置指针指向文件头部

rt+:

以可读可写、文本方式打开文件,允许读写,此文件必须存在,否则返回NULL,打开成功后返回文件指针,位置指针指向文件头部

w:

以只写的方式打开文件,只允许写,若文件存在,文件中原有内容会被清除;若文件不存在,则创建文件,打开成功后返回文件指针,位置指针指向文件头部

w+:

以读写的方式打开文件,允许读写,若文件存在,文件中原有内容会被清除;若文件不存在,则创建文件,打开成功后返回文件指针,位置指针指向文件头部

a:

以追加、只写的方式打开文件,只允许写。若文件存在,则追加的内容添加在文件末尾,若文件不存在,则创建文件。打开成功后返回文件指针,位置指针指向文件头部(注意很多书上或资料上讲述追加方式打开成功后位置指针指向文件末尾是错误的)

a+:

以追加、可读写的方式打开文件,允许读写。若进行读 *** 作,则

从头开始

读;若进行写 *** 作,则将内容添加在末尾。若文件不存在,则创建文件。打开成功后返回文件指针,位置指针指向文件头部。

//未调用任何库函数的版本(除了puts)

//#include"stdafxh" //如果不能编译,取消这行的注释

#include<stdioh>

int main()

{

char ori[100] = "E:\\my_C_program\\first_exam\\array\\testc";

int i=0,j;

for(;ori[i+1];i++) ;

for(;i>0 && '\\'!=ori[i];i--) ;

if(0!=i)

{

for(j=0,i++;ori[j]=ori[i];i++,j++) ;

}

puts(ori);

return 0;

}

啥子意思》

String getAbsolutePath()

返回抽象路径名的绝对路径名字符串。

这个相对路径不好说:因为:

假设:

D盘 a\ b\ c\这里有个1txt

相对于c\来说是:1txt

相对于a\来说是:b\c\1txt

呵呵,你自己看

------------------------

那就全盘搜索吧(楼上的方法)

Linux系统只用搜索一次

下载CMake321,将dlib-1814解压到D盘建立打包后的文件夹dlib_building,源文dlib-1814/dlib中,是Dlib软件包中的文件夹将路径放入CMake中,点击Generate生成项目。(Dlib中有make文件)。即可生成lib文件。

因为您的问题没有给出足够的判断条件,以下是几个第一眼看到可能的原因

1、dll 引用了需要安装或注册的功能,但你直接复制过去的,没有做安装或注册 *** 作。

2、dll 所在的目录你的主调用程序(如:IIS USER)没有访问权限。

如果给出加载不了的出错信息,就能更明确的确定问题。

以上就是关于c#中如何检测文件路径是否存在全部的内容,包括:c#中如何检测文件路径是否存在、C语言 文件使用方式问题、c语言去掉绝对路径,提取文件名。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9289000.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存