-2

帮助做出这样的事情(在之前的答案中,我被告知我解释得不好,现在尝试解释poponyatneee)我有一个表格,只是一个表格,代码是:

<form action="searchf" method="Post">
<input type="text" name="text" autofocus >
<input type="submit" value="">
</form>

用户在这个表单中输入不同的文件名,例如:index.txt、hello.html(重名的文件不会,基本上都是txt文件)。接下来,servlet 接受用户输入的字符串:

String myName = request.getParameter("text");

继续程序叫输入文件寻找文件夹中的文件,但事实上是需要进入index.html程序才能找到文件夹中的文件,而不仅仅是索引,这里的帮助输入扩展名不一定要尝试这样做 :

String myNamee = request.getParameter("text");
String myName = myNamee.replaceFirst("[.][^.]+$", "");

它没有用(我会很高兴收到任何回复

埃里克·斯科特

4

2 回答 2

0

为什么不删掉从名称中最后一个点到结尾的所有内容:

final String baseName = fileName.substring(0, fileName.lastIndexOf("."));
于 2012-11-14T13:50:13.310 回答
0

如果您需要将文件扩展名与文件名分开,您可以执行以下操作:

String file = request.getParameter("text");
String fileNoExt, fileExt = "";
if(file.indexOf(".") == -1) {
   fileNoExt = file;
else {
   fileNoExt = file.substring(0,file.lastIndexOf("."));
   fileExt  = file.substring(file.lastIndexOf(".")+1);
}

我建议您在 Servlet 的上下文之外测试此代码。只需使用 main 方法创建一个简单的 Java 程序来搜索目录中的文件,您就可以忘记用户输入和表单信息。只需对一些测试数据进行硬编码,以确保您知道如何查看目录并且处理文件名的代码正常工作。

您可能会发现这个其他堆栈溢出问题有助于理解如何在目录中搜索文件。

于 2012-11-14T13:55:38.010 回答