在Eclipse中使用文件

问题描述 投票:4回答:4

我有在命令行中运行程序的指令,例如:

java SetTest < alice30.txt

我想知道如何在Eclipse中这样做。我试着把它放在运行配置中,如下所示:

我不知道的另一件事是把这个文件放在哪里(alice30.txt)。这是在项目的根目录还是源文件所在的src文件夹中?

我知道这些是初学者的问题,但我很困难,需要帮助。

编辑:正如@Kane建议我传递文件并打开流。代替:

Scanner in = new Scanner(System.in);

我现在用:

Scanner in = new Scanner(new File("alice30.txt"));
java eclipse command-line-arguments
4个回答
2
投票

eclipse根目录是项目的基本目录(即,不是直接在项目下的src /目录。)

拥有txt,图形等“资源”文件夹通常是一种很好的风格。

您可以只传递文件名并自行打开流,而不是尝试传递流。

您在Eclipse中所做的事情不起作用的原因是因为您的命令提示符/ shell / dos / bash /无论是处理从文件中创建输入流的处理方式。 Eclipse不会这样做。因此,从命令行:< alice.txt的意思是“运行没有参数的程序,并创建一个到system.in的流”,而在Eclipse中执行此操作意味着“使用两个参数运行此程序”


3
投票

您可以在参数中传递完整的文件路径(例如c:/.../ alice30.txt))


1
投票

你需要这样做:add:import java.io.IOException; import java.nio.file.Paths;

然后:将“Scanner in = new Scanner(System.in);”替换为“Scanner in = new Scanner(Paths.get(”alice30.txt“));” 。你还需要这样做:“public static void main(String args [])抛出IOException”


1
投票

通过这个链接/页面的信息和几次尝试,我找到了一种在eclipse Run - > Run Configurations中使用本地路径传递参数和文件的方法,尽管不推荐使用Kane说。

对于我的情况:我需要做“$ java someClass tinyW.txt <tinyT.txt”(这是来自Robert Sedgewick的算法书中的一个例子)

在我的例子中,“tinyW.txt”是一个参数,所以在eclipse环境中,你可以在Run - > Run Configurations - > Arguments - > Program arguments:/ local address / tinyW.txt中设置。对于我的Ubuntu:/home/****/tinyW.txt“<tinyT.txt”是一个管道到主参数的文件,因此您可以在“运行 - > RUn配置 - >公共”中设置路由和文件,单击“输入文件”,使用“文件系统”图标并从本地计算中选择文件。见图。所以在输入文件中:/local_address/tinyT.txt。我的情况是:/home/***/tinyT.txt。希望它也适合你。

© www.soinside.com 2019 - 2024. All rights reserved.