【问题标题】:How to change default directory for creating new files如何更改默认目录以创建新文件
【发布时间】:2012-05-27 15:18:46
【问题描述】:

我在我的 java web 应用程序中使用了以下 c'tor

public File(String pathname)  

例如:
文件 =new File("1.txt");
然后我在路径中得到以下文件:

C:\Program Files\Apache Software Foundation\Apache Tomcat 7.0.22\bin\1.txt  

我的问题:为什么这是使用上述 c'tor 时的默认文件夹,以及是否有任何选项可以默认更改项目文件夹。

谢谢

【问题讨论】:

  • 您无法通过 JoopEggen 的回答设置文件,那么您为什么接受他的回答?

标签: java file web-applications netbeans


【解决方案1】:

相对路径的文件使用System.getProperty("user.dir"),即应用程序启动目录(这几乎总是一个坏主意)。在 Web 应用程序中,您希望使用 Servlet 的 getRealPath("/1.txt"),它与 Web 应用程序目录相对。注意不是\\,而是/

【讨论】:

  • 这是误导。这似乎暗示您可以通过更改"user.dir" 系统属性来更改当前目录。那是行不通的。事实上,Java 并没有提供改变 JVM 当前目录的方法。
【解决方案2】:

由于您在创建文件时没有给出路径,默认情况下它会创建您的 .Java 文件所在的文件。为了防止这种情况,您可以使用,

File file = new File ( "C:\\1.txt" );

现在它将在 C: 驱动器中创建 1.txt。

您可以查看File Documentation。没有办法设置默认路径,而是在 File() 构造函数中指定它自己。

【讨论】:

  • 是的,我知道,但认为有一些方法可以默认指定另一个“根”文件夹
  • AFAIK,无法设置默认路径。
【解决方案3】:

如果有任何选项可以更改项目文件夹的默认设置。

在servlet中,你可以使用

File f = new File(getServletContext().getRealPath("/1.txt"));  

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-05
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    • 2016-05-27
    相关资源
    最近更新 更多