当前位置: 首页 > 面试题库 >

使用系统文件分隔符分割文件名

明正德
2023-03-14
问题内容

我有完整的文件路径,我想获取文件名。

我正在使用以下指令:

String[] splittedFileName = fileName.split(System.getProperty("file.separator"));
String simpleFileName = splittedFileName[splittedFileName.length-1];

但是在Windows上它提供了:

java.util.regex.PatternSyntaxException: Unexpected internal error near index 1
\
 ^

我可以避免这种例外吗?有一个更好的方法吗?


问题答案:

问题是\必须转义才能在正则表达式 中将用作反斜杠 。您应该使用
使用正则表达式
拆分API
__
,或者Pattern.quote首先使用:

// Alternative: use Pattern.quote(File.separator)
String pattern = Pattern.quote(System.getProperty("file.separator"));
String[] splittedFileName = fileName.split(pattern);

甚至更好,File为此使用API:

File file = new File(fileName);
String simpleFileName = file.getName();


 类似资料:
  • 问题内容: 我想像这将是一个简单的任务,但在以前的StackOverflow问题中我找不到我正在寻找的东西…… 我有一个专有格式的大文本文件,看起来像这样: 依此类推。 文本文件的大小从10kb到100mb不等。我需要用定界符分割此文件。如何基于块处理每个文件? 问题答案: 您可以使用itertools.groupby对列表中出现的行进行分组: 产量 或者,要处理组,您实际上不需要转换为列表:

  • 我正在尝试编写一个应用程序,它将占用一个非常大的sql文本文件~60GB(2.57亿行),并将每个COPY语句拆分为单独的文本文件。 但是,我目前使用的代码会导致OutOfMemoryError,因为行超过了扫描仪缓冲区限制。第一个语句将是4000万行。 请提供建议,说明这是执行此操作的错误方法还是对现有方法的修改。 谢啦

  • 我正在处理这样的文本文件: 第01章 乱数假文 多洛·希特·阿梅特,一位杰出的献身者,他是一位临时顾问 第02章 献祭 临时行政长官 第03章 等等,多洛尔·马格纳·阿利夸。 带有分隔符,如“章”、“章”、“章”等...和1或2位数(“第1章”或“第01章”)。 我使用和 现在我需要拆分我的字符串,以便获得“第二十章”的文本。 对于第02章,这将是: 献祭 临时行政长官 我是Python新手,我读

  • 问题内容: 我有一个1GB的Xml文件,如何使用Java将其拆分成格式更小的Xml文件? 这是一个例子: 谢谢。 问题答案: 在这种情况下,我将使用StAX解析器。这样可以防止将整个文档一次读入内存。 将XMLStreamReader推进到子片段的本地根元素。 然后,您可以使用javax.xml.transform API从此XML片段中生成一个新文档。这会将XMLStreamReader推进到该

  • 我是新使用python阅读文本文件。我需要读一个文件,每行有4个我需要的数据,这是我的文本文件 我的问题是,如果我使用,它只用每行创建一个向量,但是我只需要一个向量用于第一列,一个用于第二列,一个用于第三列,还有一个用于第四列...有谁能帮帮我吗?

  • 7.4.2.文件系统的分区 Android设备主要有三个分区,参见图7.5. "通过Eclipse的File Explorer查看文件系统",即: 系统分区:/system/ SDCard分区:/sdcard/ 用户数据分区:/data/ 图7.5. 通过Eclipse的File Explorer查看文件系统