我创建了一个可以读取.txt文件的小程序。
此文件包含指向此格式new_file.txt
目标是返回新文件的路径,所以基本上我正在这样做:
String newFileName = getFileName();
int index = oldFilePath.lastIndexOf('\\');
String path = oldFilePath.substring(0, index + 1);
String newFilePath = path + newFileName;
return newFilePath;
例如:
我打开的第一个文件是:C:\a\b\c\oldFile.txt
在此文件中,我找到了newFile.txt
所以新路径将是:C:\a\b\c\newFile.txt
很好,但是如果我找到这样的东西:
..\
或.\.\
或...
有没有办法自动化这个烂摊子?
由于
答案 0 :(得分:5)
在C#/ .Net中你有相当酷的Path class。
您可以使用Path.GetFullPath( string pathname )来解析路径,例如其中包含\..\
等。
使用Path.GetDirectory()
,Path.GetFileName()
,Path.GetFileNameWithoutExtension()
& Path.GetExtension()
将名字分开并Path.Combine()
将它们重新组合在一起。
答案 1 :(得分:1)
您已将此标记为java以及c#
在java中查看FileNameUtils http://commons.apache.org/io/apidocs/org/apache/commons/io/FilenameUtils.html
normalize方法应该有帮助