Аргументы командной строки из cmdline против IDE - PullRequest
1 голос
/ 02 февраля 2012

Следующий код работает, как и ожидалось, если я запускаю его из фактической командной строки (то есть javac ..., java XXX.java (args [0]) (args [1]).

Однако еслиЯ пытаюсь установить аргументы командной строки через eclipse. Я получаю сообщение об ошибке «Ошибка с файлом ввода или вывода», но если строка cmd указывает на длину eclipse! = 2, я также получаю «Необходимо указать входной файл ....», так чтоЯ знаю, что он назначает их

Кто-нибудь знает, что с этим происходит?

public class main {

    public static Scanner fileScanner(String fName) throws FileNotFoundException {
        return new Scanner(new FileInputStream(fName));
    }

    public static PrintStream printStream(String fName) throws FileNotFoundException {
        return new PrintStream(new FileOutputStream(fName));
    }   

    public static void main(String[] args) {

        Scanner scan=null;
    PrintStream out=null;


    if(args.length != 2) {
        System.out.println("Must specify input file & output file on cmd line");
        System.exit(0);
    }


    try {
        scan = fileScanner(args[0]);
        out = printStream(args[1]);
    } catch(FileNotFoundException e) {
        System.out.println("Error with input or output file");
        System.exit(0);
    }

1 Ответ

0 голосов
/ 02 февраля 2012

Я пробовал вашу программу, она отлично работает в затмении, когда я даю имя файла с полным путем.

package so.ch1;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.PrintStream;
import java.util.Scanner;

public class main {

    /**
     * @param args
     */


         public static Scanner fileScanner(String fName) throws FileNotFoundException {
                return new Scanner(new FileInputStream(fName));
              }

        public static PrintStream printStream(String fName) throws FileNotFoundException {
                return new PrintStream(new FileOutputStream(fName));
              }


        public static void main(String[] args) {

            Scanner scan=null;
            PrintStream out=null;


            if(args.length != 2) {
                System.out.println("Must specify input file & output file on cmd line");
                System.exit(0);
            }


            try {
                scan = fileScanner(args[0]);
                out = printStream(args[1]);
            } catch(FileNotFoundException e) {
                System.out.println("Error with input or output file");
                System.exit(0);
            }

        }
}

Аргументы даны: F: /temp/abc.txt F: /temp/xyz.txt

...