실행할 때 매개 변수 전달

어떤 사람이 아래의 프로그램이 왜 실행될 때 오류가 발생하는지 묻는 글을 올렸다.
The method cypher(InputStream, OutputStream) in the type 
MyEncoderText is not applicable for the arguments (FileInputStream, 
FileOutputStream)
package package1;

import java.io.*;

public class MyEncoderText {
    public static void main(String[] args) throws Exception {
        String path0 = args[0];
        String path1 = args[1];
        FileInputStream in = new FileInputStream(path0);
        FileOutputStream out = new FileOutputStream(path1);
        cypher(in, out); 
        System.out.println("  ");
        out.close();
    }

    private static void cypher(InputStream inp, OutputStream oup)
            throws Exception {
        int len = -1;
        System.out.println("0:  " + len);
        while ((len = inp.read()) != -1) {
            System.out.println("1: " + len);
            oup.write(len);// ^ 102 ^ 91
            System.out.println("2: " + len);
        }
        System.out.println("3: " + oup);
    }
}

그리고 한번 해봤는데 문제 없을 것 같은데?
어떤 사람이 그에게 cypher 방법의 매개 변수를 (File Input Stream inp, File Output Stream oup) 로 바꾸라고 건의했다.
이렇게 질문이 끝났습니다.심심하다.
그리고 그write(len^ 102 ^ 91);
나는 2진법 이동처럼 효율을 높이는 조작이라고 생각하기 시작했다.
결과는 아예 안 돼!그것을 주석해야만 진정으로 파일 복사 작업을 수행할 수 있고, 나의 시간을 낭비할 수 있다.
그러나 이 프로그램은 나에게'실행할 때 매개 변수를 전달한다'는 문제를 일깨워 주었다.
애플릿이 작성되었습니다.
public class TestArgs {

    public static void main(String[] args) {
        String Arg1 = args[0];
        String Arg2 = args[1];
        String Arg3 = args[2];
        
        System.out.println(Arg1);
        System.out.println(Arg2);
        System.out.println(Arg3);
    }
}

cmd 작은 검정색 창이나 Eclipse에서는 전달된 매개변수를 공백으로 구분하기만 하면
매개 변수를 프로그램에 전달할 수 있다.
예를 들어, java TestArgs A B C와 같습니다.
Eclipse는 바로 Run configurations... 창 전송입니다. 캡처하지 않습니다.

좋은 웹페이지 즐겨찾기