黑马程序员技术交流社区

标题: 分离文件路径,文件名及扩展名的问题 [打印本页]

作者: mzh901024    时间: 2013-7-29 09:05
标题: 分离文件路径,文件名及扩展名的问题
对文件进行操作时,首先要得到文件路径信息,然后创建文件对象,通过IO流将数据读取到内存中进行处理,我现在需要提取文件的路径,文件名及扩展名,我用字符串截取的,但只能得到固定的,但字符串的长度不固定,有时候就会出错,这问题不知怎么解决
作者: sym544135698    时间: 2013-7-29 09:29
路径的话不就是你得到的整体吗?文件名不就是你得到的路径通过分离的最后一个吗?扩展名不就是文件名通过分离得出的最后一个吗?当然,这里我们要先假设文件扩展名没有隐藏。。。。这是我的想法
作者: 马晓凤    时间: 2013-7-29 09:52
  1. static void Main(string[] args)
  2.         {
  3.           string str=  Path.GetFileNameWithoutExtension(@"F:\新建文件夹\1复习\from\文本文件.txt");//  得到文件名
  4.          string a= Path.GetFileName(@"F:\新建文件夹\1复习\from\文本文件.txt");//得到文件名和后缀名
  5.           Console.WriteLine(str);
  6.           Console.WriteLine(a);
  7.           Console.ReadKey() ;
  8.         }
复制代码

作者: 聂广强    时间: 2013-7-29 10:21
OpenDialog下面
OpenFileDialog ofd = new OpenFileDialog();
            if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                txtFilePathRead.Text = ofd.FileName;
            }
ofd.FileName里面就是文件路径的完整信息 在谷歌浏览器中不适用
如果可以就用微软自带的方法
string GetExtension(string path) 得到文件的扩展名
string GetFileName(string path) 得到文件路径的文件名部分
string GetFileNameWithoutExtension(string path) 得到去除扩展名的文件名
string GetFullPath(string path) 得到文件的全路径。可以根据相对路径获得绝对路径。

如果用字符串截取也是可以的
获取文件名:name=str.Substring(str.LastIndexOf('\') + 1, str.LastIndexOf('.') - str.LastIndexOf('\') - 1);
获取文件扩展名:strExName=str.Substring(str.LastIndexOf('.'));
作者: 殘遛の丶狳味    时间: 2013-8-2 21:08
你可以用.Net中内置的一些方法来获取,也可以自己截取字符串,例如:F:\新建文件夹\文本文件.txt ,可以先使用LastIndexOf获得'\'和'.'的序号,然后就能分别得到文件名和后缀名了~




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2