Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.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 使用Intellij idea读取文件_Java_File_Intellij Idea_Ide - Fatal编程技术网

Java 使用Intellij idea读取文件

Java 使用Intellij idea读取文件,java,file,intellij-idea,ide,Java,File,Intellij Idea,Ide,我是eclipse的长期用户,我已经开始使用IntelliJ IDEA 因此,据我所知,IntelliJ中的项目与Eclipse工作区是相同的。此外,IntelliJ中的模块相当于Eclipse中的项目 我在IntelliJ中创建了一个项目,但我仍然不确定如果它应该是一个工作区,为什么会有一个src文件夹 之后,我在项目中创建了一个模块,并在新模块的src目录中创建了一个类,代码如下: 导入java.io.File; 导入java.io.FileNotFoundException; 导入java

我是eclipse的长期用户,我已经开始使用IntelliJ IDEA

因此,据我所知,IntelliJ中的项目与Eclipse工作区是相同的。此外,IntelliJ中的模块相当于Eclipse中的项目

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

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

导入java.io.File;
导入java.io.FileNotFoundException;
导入java.util.Scanner;
公共类主类{
公共静态void main(字符串[]args)引发FileNotFoundException{
System.out.println(“你好,世界!”);
扫描仪输入=新扫描仪(新文件(“test123.txt”);
字符串answer=input.nextLine();
System.out.println(应答);
}
}
问题是我在读取文件时出错。我尝试将.txt文件放在src文件中,该文件位于模块内部,
src
目录之外,但位于模块内部。但在这两种情况下都找不到该文件。是的,代码是有效的,我在Eclipse上试用过,效果很好。文件名拼写也正确

以下是我的项目/工作区的图片(如果有帮助):


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

如果没有帮助,那么将
test123.txt
文件移动到
FirstJavaProgram
目录

您还可以将文件名更改为以下内容之一:

  • src/test123.txt

  • FirstJavaProgram/src/test123.txt


  • 我不确定哪一个适合您。

    请使用文件的完整路径

    右键单击项目中的文件,选择“复制路径”,并将其粘贴到文件路径中

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

    ├── resources
    │   └── test123.txt
    └── src
        ├── MainClass.java
    
    创建目录“文件”使此目录中的所有文件。
    选择目录并单击右键选择->将目录标记为->资源根目录:)

    说明

  • 只需右键单击项目目录(最上面的文件夹), 然后选择“新建>目录”。指定一个名称,例如“资源”

  • (可选)生成文件夹后,右键单击“资源”目录,然后选择“新建>目录”并创建“图像”目录
  • 将图像文件拖放到“图像”或“资源”中 您刚刚创建的文件夹。 使用代码
    file myFile=new file(“./resources/images/newfile.txt”)引用新添加的项目文件

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

    改变想法的设置。 运行->编辑配置-> (在左侧窗口选择您的应用程序,然后在右侧窗口设置名为“工作目录”的输入内容)

  • 运行
    编辑配置
  • 配置
    选项卡下
    • 工作目录
      :您的文件路径与此目录相关

  • 希望这有帮助

    这确实奏效了。但是如果我把模块移到另一个位置或者把它发送给另一个人,它就不起作用。在这一点上,考虑允许最终用户在程序运行时提供路径。硬编码路径通常是最后的努力。是否没有其他方法可以像在Eclipse中那样,将文件存储在src文件夹之外,我只需简单地称其为名称?不必给出路径,也不必将其置于模块之外,我也会遇到这个问题。你找到解决这个问题的好方法了吗?我把它移到了Java项目文件夹中,这就成功了。但是为什么它在那里起作用呢?项目文件夹不应该像一个“工作区”吗。如果我想创建多个程序来执行不同的任务,它们应该是Java项目中的不同模块,对吗?文本文件不会弄混吗?一个项目的意义不在于容纳多个模块来完成不同的无关任务吗?我知道通常大型项目会被划分为较小的模块,但是Maven是主要使用的工具。我从来没有参加过这么大的项目,因为现在我只是个业余爱好者:P你说得对。不过,我建议您使用Maven并开始使用它,它非常有用,可以帮助您进行文件存储。我觉得您一直在使用Eclipse或NetBeans。IntelliJ IDEA在项目方法上有很大不同。在eclipse/netbeans中有一个左面板,其中显示了您的所有项目。IntelliJ没有这样的功能。每个IntelliJ IDEA应用程序/窗口只打开一个项目。当然,您可以通过以下方式打开多个项目:文件->重新打开项目->选择一些项目->在新窗口中按open好的,因此intelliJ中的项目与Eclipse中的工作区不同。我真的很讨厌我不能把我所有的独立项目都放在左面板上的想法。感谢您帮助理解IDE!是的,一开始可能会出现一些问题,但我向您保证IntelliJ是最好的JavaIDE,您会习惯它的。与它的可能性相比,显示多个项目的功能不算什么:)你会发现你的努力是有价值的,但请确保你的答案比之前的答案增加了多少价值。
    u need to specify complete path inside quotes something like this-->
    
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.util.Scanner;
    
    public class Application {
        public static void main(String[] args) throws FileNotFoundException {
            File file = new File("E:\\coding\\ProcessingFiles\\src\\myfile.txt");
            Scanner input = new Scanner(file);
            while (input.hasNextLine()){
                String line = input.nextLine();
                System.out.println(line);
            }
            input.close();
    
        }
    }