Читайте входные файлы из аргументов, просто объявляя их сумму и задержку для обработки - PullRequest
0 голосов
/ 26 марта 2019

Это сложно для меня, так как я больше не пробовал.

Итак, я пытаюсь импортировать определенное количество входных текстовых файлов в мою программу и указать задержку.
Позвольте мне объяснить:

java -jar program.jar 5 10  

Это всего лишь пример, посколькучисла могут различаться.
В этом примере я хочу прочитать 5 входных файлов, а затем передать каждый из них в метод через 10 секунд.

Каждому входному файлу присваивается имя: input [1 ... n] .txt
input1.txt передается в метод, который выполняет некоторые действия, а затем через 10 секунд должен вводиться input2.txt.

Понятия не имею, как это сделать.Я понимаю, что мне нужно искать файлы args [0] в каталоге файла, но как мне искать ввод 1 .txt?

public static void main(String[] args) {
        int fileNumber = args[0];
        int delay = args[1]
        Q2fix ks = new Q2fix(args[0]);
        ks.fill();

}

1 Ответ

3 голосов
/ 26 марта 2019

Вы можете использовать цикл для проверки каждого пронумерованного файла:

public static void main(String[] args) {
    int fileNumber = Integer.parseInt(args[0]);
    int delay = Integer.parseInt(args[1]);

    for (int i=1; i <= fileNumber; ++i) {
        String filename = "/some/path/to/input" + i + ".txt";
        Q2fix ks = new Q2fix(filename);
        ks.fill();
        Thread.sleep(delay);
    }
}

Я предполагаю, что ваш delay уже в миллисекундах.Если это будет в секундах, то вы хотели бы разделить на 1000, прежде чем вызывать Thread#sleepThread#sleep сообщает текущему потоку, что он спит некоторое время.

...