2017-02-06 7 views
-2

私はJavaプラットフォームで作業しています。私はパッケージからデスクトップのいくつかのフォルダにファイルをコピーする必要があります。私はそれを行うために入力ストリームと出力ストリームクラスを使用しています。NetBeansの内部ではかなりうまくやっています。入出力ストリーム・リーダーを使用してJavaでファイルがコピーされない

問題は、アプリケーションをテストするためにJARファイルを実行しているときにファイルをコピーしていないということで、NULLと言っています。

 File source = new File("src/jrepo/css/bs.css"); 

     File dest = new File(ResultPath + "/css/bs.css"); 

     InputStream is = null; 
     OutputStream os = null; 
     try { 
      is = new FileInputStream(source); 
      os = new FileOutputStream(dest); 
      byte[] buffer = new byte[1024]; 
      int length; 
      while ((length = is.read(buffer)) > 0) { 
       os.write(buffer, 0, length); 
      } 
     } finally { 
      is.close(); 
      os.close(); 
     } 
+0

私は、リソースとしてデータを読み込むのではなく、 'File'または' FileInputStream'を使用していると思います。しかし、コードなしでは、これは答えられません。 – RealSkeptic

+0

私のお金は、相対パスと作業ディレクトリを使用しています。しかし、言及したように。コードなしでヘルプはありません。 – Biffen

答えて

0

私はJavaFXを使用しているので、CSSファイルのファイルコピーを停止する問題があります。この問題を解決するには、Netbeansでプロジェクトの実行時設定を変更してください。プロジェクトのタイトルを右クリックします→プロパティ→ビルド→パッケージ→バイナリエンコードJavaFX CSSファイルのチェックボックスをオフにして、プロジェクトを保存して再構築します。

1

あなたの問題はFile(String)のコンストラクタは、ファイルへのフルパスを取る

new File("src/jrepo/css/bs.css"); 

です。あなたは相対パスを使用しています。オペレーティングシステムからファイルを読み取ろうとしている場合は、完全パスを使用します。 jarファイルから読み込んでいる場合は、this approachを代わりに使用してください。

+0

私もそれを試しましたが、まだNULLを投げています – Abraham

+0

FileUtils.copyFile(新しいファイル( "src/jrepo/css/bootstrap.css")、新しいファイル(ResultPath + "/css/bootstrap.css"));私もこれを試してみましたが、それはネットビーンズの中で働いていますが、私はjarファイルにアクセスしようとしたときにそれが動作していません。 – Abraham

+0

jarファイルの中からファイルを読み込もうとしている場合は、アプローチ"。その後、ディスクに書き込むバイトを取得したら、それは簡単です。 – JustinKSU

関連する問題