java - 来自命令行的 NetBeans Java 项目 : Working directory is System32

标签 java netbeans command-line

如果我在 NetBeans 中运行 Java 程序并按照输出窗口中给出的信息从命令行运行:

To run this application from the command line without Ant, try:
java -jar "C:\Users\erdik\OneDrive\Documents\Computing Science Degree\Course Folder\Year 1\Programming 1\Assignment 2 - Year 2 Edit\assignment2\dist\assignment2.jar"

程序开始运行,但是当需要运行以下代码来打开 .txt 文件(我的“数据库”)时:

System.out.println("Loading database of stored transactions...");
try 
{ 
    file = new File("TransactionDetails.txt");
    inFile = new Scanner(file);
} 
// if the log couldn't be found in the default program location
catch (FileNotFoundException ex)    
{
    System.out.println(CustomMessages.FileNotFound() + 
            System.getProperty("user.dir"));  // display default directory
    System.out.println(CustomMessages.systemExit());
    System.exit(1);  // the program needs the log to function as intended
}

它找不到 .txt 文件,并将默认目录打印为 Windows System32 文件夹。如何按预期指定项目文件夹的位置?

最佳答案

您可以使用文件的绝对路径而不是相对路径。例如

file = new File("C:\Users\erdik\OneDrive\Documents\Computing Science Degree\Course Folder\Year 1\Programming 1\Assignment 2 - Year 2 Edit\assignment2\dist\TransactionDetails.txt");
inFile = new Scanner(file);

关于java - 来自命令行的 NetBeans Java 项目 : Working directory is System32,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40326250/

相关文章:

c - 处理 C 命令行参数

java - 添加mvc后Spring MVC页面无法访问:resources

c++ - Netbeans C++ 附加命令(使用tolua++)

java - 以编程方式更改标题摘要

java - 仅使用 FXML 为 JavaFX 2 按钮设置样式 - 如何将图像添加到按钮?

java - 无法让我的 java applet 游戏运行 NoClassDefFoundError

Java在Mac的java程序中执行程序

linux - 为什么 *nix 命令被称为 Man(1)、Diff(1)、Cat(1) 等

java - 嵌套泛型

java - 如何使用已声明的事实类型动态重新加载规则?