A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© mzh901024 中级黑马   /  2013-7-29 09:05  /  1527 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

对文件进行操作时,首先要得到文件路径信息,然后创建文件对象,通过IO流将数据读取到内存中进行处理,我现在需要提取文件的路径,文件名及扩展名,我用字符串截取的,但只能得到固定的,但字符串的长度不固定,有时候就会出错,这问题不知怎么解决

评分

参与人数 1技术分 +1 收起 理由
赵宗荣 + 1

查看全部评分

4 个回复

倒序浏览
路径的话不就是你得到的整体吗?文件名不就是你得到的路径通过分离的最后一个吗?扩展名不就是文件名通过分离得出的最后一个吗?当然,这里我们要先假设文件扩展名没有隐藏。。。。这是我的想法
回复 使用道具 举报
  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.         }
复制代码
回复 使用道具 举报
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('.'));
回复 使用道具 举报
你可以用.Net中内置的一些方法来获取,也可以自己截取字符串,例如:F:\新建文件夹\文本文件.txt ,可以先使用LastIndexOf获得'\'和'.'的序号,然后就能分别得到文件名和后缀名了~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马