2017-08-04 2 views
1

ログファイルを作成し、そのファイルにテキストを書きたい。このタスクを完了しました。 exe4jを使用してexe4jファイルの書き込みプロセスを使用していません。どのようにこれを行うには知っている?exe4jファイルを使用してsetup.exeを作成した後で、作業がうまくいかない

あなたは "JAR EXEで" モードを使用する場合、これは私がjarファイルにあるディレクトリ

File f = null; 

public String baseUrl() { 
     try { 
      if (f == null) { 
       f = new File(Register.class.getProtectionDomain().getCodeSource().getLocation().toURI().getRawPath()); 
      } 
      String path = f.getParent(); 
      return path; 
     } catch (URISyntaxException ex) { 
      System.out.println(ex); 
     } 
     return ""; 
    } 

のパスを取得する方法これは

try { 
    src.Log lg = new src.Log(); 
     lg.setAction(action); 
     lg.setUserName(userName); 
     lg.setDescription(description); 
     lg.setTime(date); 
     lg.setSyncPath(syncPath); 
     lg.setMethod(method); 

     String url = baseUrl(); 
     System.out.println(baseUrl()); 
     String directoryName = url + "/ResFile"; 

     File directory = new File(directoryName); 
     if (!directory.exists()) { 
      directory.mkdir(); 

     } 

     File log = new File(directoryName + "/log.txt"); 

      if (log.exists() == false) { 
       log.createNewFile(); 
      } 
      try (PrintWriter out = new PrintWriter(new FileWriter(log, true))) { 
       out.append(lg.toString()); 
      } 

    } catch (Exception ex) { 
     System.out.println(ex); 
    } 

答えて

0

プロセスを作成し、私のログファイルです実行時にJARファイルが抽出されるため、ログファイルは一時ディレクトリに格納されます。

実行ファイルがあるディレクトリを取得するには、あなたが

System.getProperty("install4j.exeDir") 
+0

こんにちはを使用することができ、私は 今、私のファイルは、上の作成 はSystem.getProperty( "のuser.home")+ "\\のAppData" を使用しますAppDataフォルダ。 – Gihan

関連する問題