Я пытаюсь написать программу (для школьного домашнего задания), которая будет принимать аргумент командной строки для указания каталога, а пока просто распечатываю файлы в каталоге. Я буквально часами смотрел на разные ответы и пробовал разные вещи, но понятия не имел, что делать. Ниже вы найдете мой текущий код. когда я открываю CMD, и набираю java DirectoryFiles c:\.

Я получаю Error, could not find or load main class DirectoryFiles. Я просто использовал c:\, чтобы посмотреть, могу ли я распечатать какой-либо каталог.

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;

public class DirectoryFiles
{

    /**
     * Gets command line argument for directory to be used in program.
     *
     * @param args
     */
    public static void main(String[] args)
            throws IOException, ClassNotFoundException
    {

        String path = args[0];
        File dir = new File(path);
        FileInputStream fis = new FileInputStream(dir);
        if ((dir).isDirectory())
        {
            File[] files = dir.listFiles();

            System.out.println(files);
        }
    }
}
-1
dustbunny25 19 Ноя 2017 в 10:14

1 ответ

Лучший ответ

Скорее всего, у вас есть только исходный файл (вы его не компилировали).

Помните, что:

  • Java не является интерпретатором исходного файла.
  • Команда java пытается запустить существующий класс java .

Итак, вы должны начать с компиляции исходного кода в класс Java. Затем вы можете запустить его с помощью команды java.

0
Valdi_Bo 19 Ноя 2017 в 07:59