Java z linii komend

Java z linii komend
infantylny
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 62
0

Cześć, w jaki sposób mogę uruchomić program z poziomu cmd z argumentem w postaci zawartości pliku .txt? w plikach .exe robi się coś takiego:* plik.exe<dane.txt*. W Javie próbowałem: java klasa < dane.txt, ale nie działa lub java klasa dane.txt ale wtedy dane.txt traktuje jak String podany w argumencie metody main().

S9
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
  • Postów: 3573
1

A jak robiłeś ten redirect z inputa? Pokaż kod :)

infantylny
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 62
0

Załóżmy, że mamy taką prostą klasę:

Kopiuj
public class Test {
	public static void main(String [] args) {
		System.out.println("Podany argument: " +args[0]);
	}
}

W jaki sposób z poziomu linii komend mogę przekierować zawartość pliku .txt do metody main()? Nie ważne czy cały plik będzie traktowany jako jeden String, czy każdy wyraz oddzielony separatorem jako osobny String, chodzi mi bardziej o to, jak takie przekierowanie można zrobić.

Charles_Ray
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1907
0
Kopiuj
package com.company;

import java.io.*;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String line;
        while ((line = br.readLine()) != null) {
            System.out.println(line);
        }
    }
}

Plik:

Kopiuj
ala
ma
kota
Kopiuj
java -cp . com.company.Main < file.txt

Output:

Kopiuj
ala
ma
kota

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.