Java 传入文件名

Java 传入文件名,java,try-catch,filenames,Java,Try Catch,Filenames,所以我正在做一些作业,这些作业基本上是Java编码的教程。这些任务不是针对某一年级的学生,我只是想自学用Java编写代码。手头的任务是调用一个文件名,但不进行硬编码。然后,传入的名称应该是一个参数。到目前为止,我掌握的代码是: import java.util.*; import java.io.*; public class Music { private String songTitle; private String albumName; private Str

所以我正在做一些作业,这些作业基本上是Java编码的教程。这些任务不是针对某一年级的学生,我只是想自学用Java编写代码。手头的任务是调用一个文件名,但不进行硬编码。然后,传入的名称应该是一个参数。到目前为止,我掌握的代码是:

import java.util.*;
import java.io.*;

public class Music 
{
    private String songTitle;
    private String albumName;
    private String artistName;
    private int releaseYear;
    static String[] arrayTitles=new String[12];

    public static void main(String[] args)
    {
    try
    {
        String path=args[0];
        File music=new File(path);

        Scanner readLibrary=new Scanner(music);
        int numberOfTitles=readLibrary.nextInt();
        System.out.println(numberOfTitles);
    }
    catch (FileNotFoundException e) 
    {
        System.out.println("ERROR!");
        System.exit(0);
    }
}
我在哪里 字符串路径=args[0]; 是我收到错误的地方。 我可以简单地输入文件名“music.txt”,程序就可以运行了。所以我只想让这段代码与任何文件输入一起工作。 文件music.txt已经在我的工作区中。
我正在使用Eclipse。

发生这种情况是因为
args[0]
为空。您没有从命令行启动java程序。如果希望
args[0]
不为空,请在命令行中使用以下代码行:

java Music.txt


希望有帮助。

发生这种情况是因为
args[0]
为空。您没有从命令行启动java程序。如果希望
args[0]
不为空,请在命令行中使用以下代码行:

java Music.txt


希望有帮助。

在eclipse中,您应该访问:


运行>运行配置>Java应用程序>“选择主类”>转到选项卡“参数”>在“编程参数”部分,您可以根据需要定义路径在eclipse中您应该转到:


运行>运行配置>Java应用程序>“选择您的主类”>转到“程序参数”部分的“参数”选项卡您可以根据需要定义路径

我不确定练习作业的规则是什么,但为了避免从命令行运行程序并帮助保持在IDE的范围内,您可以提示用户输入文件名或路径,并将其作为变量传递。这应该适用于任何文件名,但用户有责任确切地知道他们在寻找什么(您可能会想到一种避免的方法)


希望有帮助

我不确定练习作业的规则是什么,但为了避免从命令行运行程序,并帮助保持在IDE的范围内,您可以提示用户输入文件名或路径,并将其作为变量传递。这应该适用于任何文件名,但用户有责任确切地知道他们在寻找什么(您可能会想到一种避免的方法)


希望有帮助

您可以检查
args.length
以查看传入了多少args。但是,如果没有参数,您希望
path
是什么?您是从控制台运行java程序吗?我在控制台收到错误。什么错误?您的帖子没有提到任何错误,没有解释错误,没有包含任何类型的错误消息,事实上甚至没有表明您发布的代码有任何问题。你也没有问过任何问题。您遇到的问题具体是什么?您具体在问什么?因此,我没有根据args.length传入任何args。是否有方法将任何文件作为参数传入?IDE的运行配置应该能够传入程序参数。具体如何实现将取决于您的IDE。但它应该被称为“运行配置”或类似名称。您可以检查
args.length
以查看传入了多少args。但是,如果没有参数,您希望
path
是什么?您是从控制台运行java程序吗?我在控制台收到错误。什么错误?您的帖子没有提到任何错误,没有解释错误,没有包含任何类型的错误消息,事实上甚至没有表明您发布的代码有任何问题。你也没有问过任何问题。您遇到的问题具体是什么?您具体在问什么?因此,我没有根据args.length传入任何args。是否有方法将任何文件作为参数传入?IDE的运行配置应该能够传入程序参数。具体如何实现将取决于您的IDE。但它应该被称为“运行配置”或类似的名称。这似乎不适用于使用随机文件,例如“example.txt”,当然可以。只需将其作为“:java Music example.txt”运行,它也将为您的
example.txt
运行@弗雷德克。谢谢你,弗雷德。对于一个随机文件来说,这似乎不太管用,比如“example.txt”,当然管用了。只需将其作为“:java Music example.txt”运行,它也将为您的
example.txt
运行@弗雷德克。谢谢你,弗雷德。