を上書きする例外投げ:私は約1000 ePubファイルを一つのフォルダを持っているは、複数のディレクトリにファイルをコピーするのいずれかのコードのディレクトリ
設定を。 Title.epub
とカバーアートのための
AuthorFirstName AuthorLastName - - Title.jpeg
時には著者はcolaborateとファイル名がこの形式
を次の彼らはすべての形式AuthorFirstName AuthorLastNameに従ってください
AuthorFirstName AuthorLastName & SecondAuthorFirstname ScondAuthorLastName - Title.epub
それは次のようになりますので、何人かの著者が複数の本を書く: http://i.imgur.com/7W3rUAf.png
私が何をしたいのかは、スクリプトがその著者にちなんで名付けられたディレクトリに同じ著者からの本をコピーする必要があります。すべての本は、それぞれの著者の名前に由来するディレクトリに置かれていなければなりません。もし彼らがコラボレーションすれば、彼らは自分のフォルダを手に入れます。 ArrayList oldAuthorDirectoriesはソースの場所とArrayListのパスをリストしますnewAuthorDirectoresは新しいディレクトリのパスをリストします(61行目に気づくでしょう。ファイルをコピーしたいときに新しいパスの最後に "\"を追加しました)それらのディレクトリに)。 すべては以下を除いて動作し、私はそれの上に私の髪をリッピングしてきました。
REPLACE_EXSISTINGオプションを使用すると、コピー機能は、ディレクトリを拡張子のない作成者だけを含むepubファイルに置き換えます。 私はそれを使用しない場合、ファイルExsisting例外をスローします。
ご協力いただければ幸いです。
あなたはカップルの文字列、およびパス操作にこれをダウン減らすことができなければなりませんか?また、あなたは本当に "\\"を使用すべきではない、Java APIはあなたのためにそれを世話する必要があります。 – matt
まず、実行したくないものすべてを検証可能に印刷するものを作ってください。そうすることで、何をするかを確認できます(印刷パスなど)。この種のジョブにjavaを使用することは、永久的なものとしてファイルを削除する場合は、特にスケッチとなる可能性があります。 – Rogue
コピーアウトにコメントしました。上に次のコードを追加しました。 System.out.println( "Copy:" + newAuthorDirectores.get(i)) "+ oldAuthorDirectories.get(y) コピー:C:\ Users \ Daniel \ Dropbox \ eBooks \ Caliber Lib \ William Golding - Flies.epubの君はC:\ Users \ Daniel \ Desktop \ Newフォルダ\ William Gibsonにコピーします。 期待通りに動作するはずですが、それはわかりません –