Java runtume.exec ÀçÁú¹®......(ÇØ°á)

   Á¶È¸ 8490   Ãßõ 0    

BATCH.BAT (19byte), Down : 2, 2010-09
run.exe (638.6K), Down : 1, 2010-09

아래에 자바로 질문 했었는데 답변 해 주신분들 감사합니다.

잘? 안되서 다시 한번 질문드립니다.

 

첨부를 2개 하였습니다.

제가 fortran으로 만든 예제로 run.exe 입니다.

 

run.exe arg1 arg2 하면

arg1, arg2 파일안에 텍스트가 생성됩니다.

 

이것을 bat 파일로 만든게 batch.bat 입니다.

 

실행하면 아주 잘됩니다.

 

다음은 자사 보스 입니다.,

import java.io.*;

import java.lang.*;

// throws IOException
public class testruntime {
 public static void main(String[] args) throws Exception {
  Runtime rt = Runtime.getRuntime();
  Process proc;
  //String cmd="E:/TEST/batch.bat";
  String[] cmd={"E:/TEST/RUN.EXE","1.TXT","2.TXT"};

  try{
   proc = rt.exec(cmd);
   System.out.println(proc.waitFor());
  } catch (Exception e){
   System.out.println(e);
  }

 } 
}

붉은색부분을 바꾸어 가면서 해보아도 파일이 생성이 안됩니다.

어떻게 하면 될까요..??

 

API 도큐먼트에선 proc.waitFor()의 리턴값이 0이면 정상이라는데

 

제가 원하는 결과는 안되더라고요.

 

 

추가 1 : 붉은색 문의 디렉토리 구분자는 / , \\ , \ 다 해보았습니다.

 

추가 2 : 구글링 등을 해 보았는데 결과는 신통치가 않구요.

            도스 CMD 명령어에 때문에 그런거 같은데..(추측)

 

추가 3 : 도스명령대신에 메모장 "notepad" 를 넣으면 아주 잘됩니다.

ªÀº±Û Àϼö·Ï ½ÅÁßÇÏ°Ô.
Á¶¿µ¹Î 2010-09
D:\A>java testruntime
0

D:\A>dir
 D µå¶óÀ̺êÀÇ º¼·ý: DATA
 º¼·ý ÀÏ·Ã ¹øÈ£: A0C1-0101

 D:\A µð·ºÅ͸®

2010-09-29  ¿ÀÈÄ 04:54    <DIR>          .
2010-09-29  ¿ÀÈÄ 04:54    <DIR>          ..
2010-09-29  ¿ÀÈÄ 04:54                23 1.TXT
2010-09-29  ¿ÀÈÄ 04:54                19 2.TXT
2010-09-29  ¿ÀÈÄ 04:50                19 BATCH.BAT
2010-09-29  ¿ÀÈÄ 04:50          653,973 run.exe
2010-09-29  ¿ÀÈÄ 04:53              793 testruntime.class
2010-09-29  ¿ÀÈÄ 04:53              405 testruntime.java
              6°³ ÆÄÀÏ            655,232 ¹ÙÀÌÆ®
              2°³ µð·ºÅ͸®  135,135,432,704 ¹ÙÀÌÆ® ³²À½

D:\A>
     
ÀÓÁø¿í 2010-09
Á¶¿µ¹Î´Ô °ü½É °¨¼ÝÇÕ´Ï´Ù.
ÇØ°áÇß½À´Ï´Ù. Ç㺻ÁÂ(¾Ë°íÁö³½Áö°¡ ¹ú½á 10³âÀÌ ³Ñ¾ú±º¿ä)ÀÇ µµ¿òÀ¸·Î...
class ÆÄÀÏ°ú ½ÇÇàÆÄÀÏÀÌ Çѵð·ºÅ丮¿¡ ÀÖÀ¸´Ï±î µÇ´õ±º¿ä...
¸îÀÏÀ» ã¾Æ ºÃ´Âµ¥... Ç㹫Çϳ׿ä...
Á¶¿µ¹Î 2010-09
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\bayleys>d:

D:\>cd A

D:\A>cd AAA

D:\A\AAA>dir
 D µå¶óÀ̺êÀÇ º¼·ý: DATA
 º¼·ý ÀÏ·Ã ¹øÈ£: A0C1-0101

 D:\A\AAA µð·ºÅ͸®

2010-09-29  ¿ÀÈÄ 05:57    <DIR>          .
2010-09-29  ¿ÀÈÄ 05:57    <DIR>          ..
2010-09-29  ¿ÀÈÄ 05:57              793 testruntime.class
2010-09-29  ¿ÀÈÄ 05:56              405 testruntime.java
              2°³ ÆÄÀÏ              1,198 ¹ÙÀÌÆ®
              2°³ µð·ºÅ͸®  135,135,432,704 ¹ÙÀÌÆ® ³²À½

D:\A\AAA>java testruntime
0

D:\A\AAA>dir
 D µå¶óÀ̺êÀÇ º¼·ý: DATA
 º¼·ý ÀÏ·Ã ¹øÈ£: A0C1-0101

 D:\A\AAA µð·ºÅ͸®

2010-09-29  ¿ÀÈÄ 05:57    <DIR>          .
2010-09-29  ¿ÀÈÄ 05:57    <DIR>          ..
2010-09-29  ¿ÀÈÄ 05:57                23 1.TXT
2010-09-29  ¿ÀÈÄ 05:57                19 2.TXT
2010-09-29  ¿ÀÈÄ 05:57              793 testruntime.class
2010-09-29  ¿ÀÈÄ 05:56              405 testruntime.java
              4°³ ÆÄÀÏ              1,240 ¹ÙÀÌÆ®
              2°³ µð·ºÅ͸®  135,135,432,704 ¹ÙÀÌÆ® ³²À½

D:\A\AAA>dir ..
 D µå¶óÀ̺êÀÇ º¼·ý: DATA
 º¼·ý ÀÏ·Ã ¹øÈ£: A0C1-0101

 D:\A µð·ºÅ͸®

2010-09-29  ¿ÀÈÄ 05:57    <DIR>          .
2010-09-29  ¿ÀÈÄ 05:57    <DIR>          ..
2010-09-29  ¿ÀÈÄ 05:57    <DIR>          AAA
2010-09-29  ¿ÀÈÄ 04:50          653,973 run.exe
              1°³ ÆÄÀÏ            653,973 ¹ÙÀÌÆ®
              3°³ µð·ºÅ͸®  135,135,432,704 ¹ÙÀÌÆ® ³²À½

D:\A\AAA>
     
Á¶¿µ¹Î 2010-09
import java.io.*;

import java.lang.*;

// throws IOException
public class testruntime {
 public static void main(String[] args) throws Exception {
  Runtime rt = Runtime.getRuntime();
  Process proc;
  String[] cmd={"D:/A/RUN.EXE","1.TXT","2.TXT"};
  try{
  proc = rt.exec(cmd);
  System.out.println(proc.waitFor());
  } catch (Exception e){
  System.out.println(e);
  }

 }
}
Á¶¿µ¹Î 2010-09
Ŭ·¡½º¿Í ½ÇÇàÆÄÀÏÀÌ °°Àº µð·ºÅ丮¿¡ Á¸ÀçÇÏÁö ¾Ê¾Æ¼­ ¹ß»ýÇÏ´Â ¹®Á¦´Â ¾Æ´Ñ°Í °°½À´Ï´Ù.
À̹®Èì 2010-09
proc.waitFor(); <- À̺κÐÀº ¹®Á¦ÀÇ ¼Ò½º°¡ ¸¹½À´Ï´Ù.
ÀÚ¹Ù°¡ hang¿¡ °É¸±¼ö ÀÖ½À´Ï´Ù.

http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-traps.html?page=1

¸µÅ©¸¦ »ìÆ캸±â±æ ¹Ù¶ø´Ï´Ù.


QnA
Á¦¸ñPage 4737/5685
2015-12   1501418   ¹é¸Þ°¡
2014-05   4965011   Á¤ÀºÁØ1
2004-04   8487   ±èÀº¹ü
2004-01   8487   Á¤ºÀ¿ø
2004-03   8487   ¹ÚÀçÈ£
2006-08   8487   Á¶À±¼º
2011-07   8488   ÀÌâÁØ
2009-11   8488   Á¤ÀÇÇÑ
2011-08   8488   Ȳ¼º¿ø
2004-07   8488   ¹ÚÇö¹®
2010-03   8488   °¡ºü·Î±¸³ª
2010-10   8489   ÀϹÝÀ¯Àú
2016-09   8489   °Ü¿ï³ª¹«
2011-06   8489   ¹Î¼ºÀÏ
2013-06   8489   ¹«¾Æ
2003-09   8490   õº´Ã¶
2004-03   8490   È«µ¿±Ç
2015-03   8490   Á¤Çö¿Á
2004-05   8490   ¼ÛÈ­½Ä
2010-01   8490   1CPUÁöâÈÆ
2013-11   8490   ±è¼ºÅÂ24
2010-08   8490   ½Ì¾î¼Û¶óÀÌÅÍ