Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我可以在Eclipse中找到servlet创建的文本文件_Java_Eclipse_Servlets - Fatal编程技术网

Java 我可以在Eclipse中找到servlet创建的文本文件

Java 我可以在Eclipse中找到servlet创建的文本文件,java,eclipse,servlets,Java,Eclipse,Servlets,这可能是一个愚蠢的问题,但我不得不问,因为我找不到任何合适的解决方案 我对Eclipse是新手。我在Eclipse中创建了一个动态Web项目,在这里,我编写了一个简单的代码来创建一个文本文件,只指定了文件名而不是创建路径,成功执行后,我在我的项目文件夹中找不到我的文本文件 如果在代码中指定了路径,我可以在指定的目录中找到文本文件,我的问题是如果我没有指定路径,在哪里可以找到我的文本文件 我的代码是 try { FileWriter outFile = new FileWriter("u

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

我对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\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);