2017-02-04 11 views
-2

26個のファイル(A〜Z)のフォルダを別のディレクトリにコピーしようとしています。これまでのところ、IDEを使用してプログラムを起動するとすべてが機能します。しかし、エクスポートされたjarを実行している場合、動作しません。私はすでに瓶を見て、コピーしたいフォルダがそこにあります。ヘルプ^^ファイルからフォルダへのファイルのコピー

+0

ドイツ語のäやßなどの特殊文字のフォルダがないことを確認しましたか? –

+1

^^ロングストーリーショート: 'getResourceAsStream'でファイルを読む – BackSlash

答えて

0

ため

private void copyCharacterFiles() { 
    for (String s : Utils.ALPHABET) { 


     try { 
      File source = new File("resources/characters/" + s.toUpperCase() + ".yml"); 
      File dest = new File(APPLICATION_PATH + PATHSEPARATOR + "characters" + PATHSEPARATOR + s.toUpperCase() + ".yml"); 

      FileChannel sourceChannel = null; 
      FileChannel destChannel = null; 

      try { 
       sourceChannel = new FileInputStream(source).getChannel(); 
       destChannel = new FileOutputStream(dest).getChannel(); 
       destChannel.transferFrom(sourceChannel, 0, sourceChannel.size()); 
      } finally { 
       sourceChannel.close(); 
       destChannel.close(); 
      } 


     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
    } 
} 

おかげで私はあなたが実行しているときにこの保証を持っていないのに対し、ディレクトリ構造は、あなたのリソースのためにそこにあるとして、あなたのIDEにこの実行を取得することができると考えていますあなたはJAR。これらのリソースをクラスパスの一部として使用している場合は、postの回答としてリソースにアクセスできるはずです。それ以外の場合、ファイルにアクセスする方法は、いくつかの問題を引き起こす可能性のある相対パスです。

希望に役立ちます!

関連する問題