传入文件名

时间:2017-05-17 18:27:31

标签: java try-catch filenames

所以我正在开发一些基本上是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);
    }
}

我在哪里     String path = args [0]; 是我收到错误的地方。 我可以简单地把文件名“music.txt”和程序工作。所以我只是试图让这个代码适用于任何文件输入。 文件music.txt已经在我的工作区中。 我正在使用Eclipse。

3 个答案:

答案 0 :(得分:1)

这种情况正在发生,因为args[0]为空。你没有从命令行盯着你的java程序。如果你希望args[0]不为null,那么在命令行中使用这行代码:

  

java Music music.txt

希望它有所帮助。

答案 1 :(得分:1)

在日食中你应该去:

运行>运行配置> Java应用程序> "选择你的主要课程" >转到标签"参数" >在"纲要参数"您可以根据需要定义路径

答案 2 :(得分:1)

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

希望有所帮助!