Java 我可以在Eclipse中找到servlet创建的文本文件
这可能是一个愚蠢的问题,但我不得不问,因为我找不到任何合适的解决方案 我对Eclipse是新手。我在Eclipse中创建了一个动态Web项目,在这里,我编写了一个简单的代码来创建一个文本文件,只指定了文件名而不是创建路径,成功执行后,我在我的项目文件夹中找不到我的文本文件 如果在代码中指定了路径,我可以在指定的目录中找到文本文件,我的问题是如果我没有指定路径,在哪里可以找到我的文本文件 我的代码是Java 我可以在Eclipse中找到servlet创建的文本文件,java,eclipse,servlets,Java,Eclipse,Servlets,这可能是一个愚蠢的问题,但我不得不问,因为我找不到任何合适的解决方案 我对Eclipse是新手。我在Eclipse中创建了一个动态Web项目,在这里,我编写了一个简单的代码来创建一个文本文件,只指定了文件名而不是创建路径,成功执行后,我在我的项目文件夹中找不到我的文本文件 如果在代码中指定了路径,我可以在指定的目录中找到文本文件,我的问题是如果我没有指定路径,在哪里可以找到我的文本文件 我的代码是 try { FileWriter outFile = new FileWriter("u
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\u JE\eclipse\user\u details.txt
为什么我把它放在eclipse文件夹中
那么,
如果这不是创建文本文件的正确方法,如何在web应用程序中创建文本文件?您可以尝试getAbsolutePath()方法
它将显示创建文件的位置。文件位于应用程序服务器的实际工作目录中。做一个
System.out.println(new File("").getAbsolutPath());
你会找到位置的
然而,像这样在web应用程序中编写文件并不是一个好主意,因为首先你们永远不知道它在哪里,其次你们永远不知道你们是否在上面写了特权
您需要为应用程序指定某个文件系统根,方法是将其作为init参数
传递,并将其用作需要在文件系统上执行的所有操作的父级。检查到一个类似的地方
然后,您可以像这样创建文件:
String fsroot = getServletContext().getInitParameter("fsroot")
File ud = new File(fsroot, "user_details.txt");
FileWriter outFile = new FileWriter(ud, true);
创建文件后是否刷新项目?检查您的项目工作区\.metadata\.plugins\org.eclipse.wst.server.core\tmp0或tmp1或tmp2,然后转到您的项目并查看结果是的,我做了,但没有结果Corry、tmp0、tmp1和tmp2尝试使用您的源代码,文件是在我的工作区文件夹>workspace/MyProject/user_details.txt中创建的
String fsroot = getServletContext().getInitParameter("fsroot")
File ud = new File(fsroot, "user_details.txt");
FileWriter outFile = new FileWriter(ud, true);