使用Intellij idea IDE读取文件

时间:2014-11-15 19:48:48

标签: java file intellij-idea ide

我是一个很长时间的eclipse用户,我已经开始使用IntelliJ IDEA了。

因此,根据我的理解,IntelliJ中的项目与Eclipse工作区相同。此外,IntelliJ中的模块相当于Eclipse中的项目。

我在IntelliJ中创建了一个项目,但是如果它应该是一个工作区,我仍然不确定为什么会有一个src文件夹。

之后,我在项目中创建了一个模块,并使用以下代码在新模块的src目录中创建了一个类:

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class MainClass {
    public static void main(String[] args) throws FileNotFoundException {
        System.out.println("Hello World!");
        Scanner input = new Scanner(new File ("test123.txt"));
        String answer = input.nextLine();
        System.out.println(answer);
    }
}

问题是我在尝试读取文件时遇到错误。我尝试将.txt文件放在我的src文件中,该文件位于模块内部和src目录之外但在模块内部。但在这两种情况下都找不到该文件。是的,代码有效,我在Eclipse上尝试过,它工作正常。文件名也拼写正确。

这是我的项目/工作区的图片,如果它有用:

Screenshot of IntelliJ

7 个答案:

答案 0 :(得分:26)

只需将文件直接移动到调用 Java 的项目文件夹(以及您制作的蓝色条纹下的内容:P)。

如果这没有帮助,请将test123.txt文件移至FirstJavaProgram目录。

您还可以将文件名更改为以下其中一个:

  1. src/test123.txt

  2. FirstJavaProgram/src/test123.txt

  3. 我不确定哪一个会好你的。

答案 1 :(得分:16)

请改用文件的完整路径。

右键点击项目中的文件,选择"复制路径",然后将其粘贴到文件的路径中。

编辑:您还可以使用文件的相对路径。如果您的文件位于resources/,则可以使用./resources/yourfile.txt形式。

├── resources
│   └── test123.txt
└── src
    ├── MainClass.java

答案 2 :(得分:4)

创建目录“files”使所有文件都在此目录中。 选择目录,然后单击右键选择 - >标记目录为 - >资源根:)

答案 3 :(得分:3)

<强>说明

  1. 只需右键单击项目目录(最顶层的文件夹), 然后选择“新建&gt;目录”。指定名称,例如“resources”。
  2. enter image description here

    1. (可选)生成文件夹后,右键单击“资源”目录,然后选择“新建&gt;目录”并创建“图像”目录。
    2. 将图片文件拖放到“图片”或“资源”中 你刚创建的文件夹。 使用代码File myFile = new File("./resources/images/newfile.txt");
    3. 引用新添加的项目文件

答案 4 :(得分:3)

昨天我遇到了和你一样的麻烦。

更改IDEA的设置。 run-&gt;编辑配置 - &gt; (在左侧窗口中选择您的应用程序。然后设置名为&#34;工作目录&#34;在右侧窗口的输入内容)

click here to see the image

答案 5 :(得分:0)

  1. const roles = Member.roles .filter(r => r.id !== message.guild.id) .map(r => r).join(", ") || 'none'; > Run
  2. Edit Configurations标签下
    • Configuration:您的文件路径与此相对。

希望获得帮助!

答案 6 :(得分:0)

/** Total instances */
#define TOTAL 10

/** Initializer */
void InitProduct(Product *product, const char *productName);