相关疑难解决方法(0)

如何在Java中获取文件的文件扩展名?

为了清楚起见,我不是在寻找MIME类型.

假设我有以下输入: /path/to/file/foo.txt

我想要一种方法来打破这种输入,特别.txt是扩展.在Java中有没有内置的方法来做到这一点?我想避免编写自己的解析器.

java io file

457
推荐指数
15
解决办法
62万
查看次数

如何使用某些分隔符拆分String但不在Java中删除该分隔符?

我在分裂方面遇到了问题String.

我想String用一些分隔符拆分一个但不丢失该分隔符.

当我们somestring.split(String separator)在Java中使用方法时,它会拆分String但从中删除分隔符部分String.我不希望这种情况发生.

我想要如下结果:

String string1="Ram-sita-laxman";
String seperator="-";
string1.split(seperator);
Run Code Online (Sandbox Code Playgroud)

输出:

[Ram, sita, laxman]
Run Code Online (Sandbox Code Playgroud)

但我希望结果如下所示:

[Ram, -sita, -laxman]
Run Code Online (Sandbox Code Playgroud)

有没有办法获得这样的输出?

java regex string split

67
推荐指数
3
解决办法
5万
查看次数

java:反射获取枚举

这与Java类似但不完全相同:使用反射实例化枚举

我有一个Map<Enum<?>, FooHandler>我想用来映射Enums(我不关心哪种类型,或者即使它们是同一类型,只要它们是枚举常量)到我的FooHandler班级.

我想使用我阅读的文本文件填充此地图.我可以让它工作,但我有两个警告我想绕过:

static private <E extends Enum<E>> E getEnum(String enumFullName) {
  // see https://stackoverflow.com/questions/4545937/
  String[] x = enumFullName.split("\\.(?=[^\\.]+$)");
  if (x.length == 2)
  {
    String enumClassName = x[0];
    String enumName = x[1];
    try {
      Class<E> cl = (Class<E>)Class.forName(enumClassName);
      // #1                          

      return Enum.valueOf(cl, enumName);
    }
    catch (ClassNotFoundException e) {
      e.printStackTrace();
    }
  }
  return null;
}

public void someMethod(String enumName, String fooHandlerName)
{
   FooHandler fooHandler = getFooHandler(fooHandlerName);
   Enum e = getEnum(enumName);
   // …
Run Code Online (Sandbox Code Playgroud)

java reflection enums

8
推荐指数
2
解决办法
2万
查看次数

如何使用正则表达式获取文件扩展名?

我正在尝试从包含文件名或目录的字符串中提取子字符串.提取的子字符串应该是文件扩展名.我在网上做了一些搜索,发现我可以使用正则表达式来实现这一点.我发现这^\.[\w]+$是一个可以找到文件扩展名的模式.问题是我对正则表达式及其功能并不完全熟悉.

基本上如果我有一个像C:\Desktop\myFile.txt我想要正则表达式的字符串然后找到并创建一个仅包含的新字符串.txt

java regex string

2
推荐指数
2
解决办法
2万
查看次数

标签 统计

java ×4

regex ×2

string ×2

enums ×1

file ×1

io ×1

reflection ×1

split ×1