【问题标题】:Where i Can find text file created by servlet in Eclipse我在哪里可以找到 Eclipse 中的 servlet 创建的文本文件
【发布时间】:2014-09-25 06:47:51
【问题描述】:

这可能是一个愚蠢的问题,但我不得不问,因为我找不到任何合适的解决方案。

我是 Eclipse 的新手。我在 Eclipse 中创建了一个动态 Web 项目,在此,我编写了一个简单的代码来创建一个文本文件,只指定了文件名而不是创建的路径,成功执行后,我在项目中找不到我的文本文件文件夹。

如果在代码中指定了路径,我可以在指定目录中找到文本文件,我的问题是如果我没有指定路径,我可以在哪里找到我的文本文件?

我的代码是

try {
     FileWriter outFile = new FileWriter("user_details.txt", true);
     PrintWriter out1 = new PrintWriter(outFile);
     out1.append(request.getParameter("un"));
     out1.println();
     out1.append(request.getParameter("pw"));
     out1.close();
     outFile.close();
     System.out.println("file created");
} catch(Exception e) {
     System.out.println("error in writing a file"+e);
}

我用以下几行编辑了我的代码,

String path = new File("user_details.txt").getAbsolutePath(); 

System.out.println(path); 

我得到的路径在下面

D:\Android\eclipse_JE\eclipse\user_details.txt

为什么我把它放在 eclipse 文件夹中?

那么, 如果这不是创建文本文件的正确方法,我如何在我的网络应用程序中创建文本文件?

【问题讨论】:

  • 创建文件后是否刷新项目?
  • 检查你的项目workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0 or tmp1 or tmp2 然后去你的项目看看
  • 是的,我做了,但没有结果
  • 抱歉,tmp0、tmp1 和 tmp2 让我很失望
  • 我已尝试使用您的源代码,并在我的工作区文件夹中创建了文件 > workspace/MyProject/user_details.txt

标签: java eclipse servlets


【解决方案1】:

该文件位于应用程序服务器的实际工作目录中。做一个

System.out.println(new File("").getAbsolutPath());

你会找到位置。

但是,像这样在 web 应用程序中编写文件并不是一个好主意,因为首先你永远不知道它在哪里,其次你永远不知道你是否在上面写了权限。

您需要为您的应用程序指定一些文件系统根,将其作为init-parameter 传递,并将其用作您需要在文件系统上执行的所有操作的父级。检查this answer 到类似的Question

然后你可以像这样创建你的文件:

String fsroot = getServletContext().getInitParameter("fsroot")
File ud = new File(fsroot, "user_details.txt");
FileWriter outFile = new FileWriter(ud, true);

【讨论】:

    【解决方案2】:

    你可以试试 getAbsolutePath() 方法。

    String newFile = new File("Demo.txt").getAbsolutePath();
    

    它将显示创建文件的位置。

    【讨论】:

      猜你喜欢
      • 2020-12-30
      • 2014-02-22
      • 1970-01-01
      • 2012-02-28
      • 1970-01-01
      • 2011-10-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多