これは比較的単純な質問だと思います。実際には、Java よりも Windows に問題があると思います。
ファイルを新しいディレクトリにコピーする方法があります。これは、元のパスで作成された File と、コピーの目的のパスで作成された File の 2 つの File オブジェクトを取ります。この方法を使用してファイルをデスクトップに正常にコピーしたので、この方法が機能すると確信しています。
ただし、実際に必要なパスを使用するとエラーが発生します。
java.io.FileNotFoundException: PATH (指定されたパスが見つかりません)
は、使用しようとしてPATH
いるパスです。
これが私の推測です。別のマシンで使用するためにこのプログラムを作成しています。そのため、私が使用しようとしているパスは次のとおりです。
C:\Users\XXXXXX\rest_of_path\filename.file
XXXXXX
私がプログラムを書いているマシンのプライマリユーザーはどこですか。
このディレクトリはシステムに存在しXXXXXX
ますが、システムのユーザーではありません。そのため、Windowsが問題を引き起こしていると推測しています。
マシンに依存し、ハードコードされていないソリューションを使用するようにコードを変更しています (System.getProperty)。
しかし、Windows と Java のユーザーとして、学術的な観点から、なぜこの問題が発生しているのかを知りたいと思っています。
前もって感謝します。
編集:二重のバックスラッシュを意味するときに、誤ってスラッシュを使用しました。スペルミスではないことを確認するために、Windows を使用してディレクトリをコピーし、プログラムに貼り付けました (バックスラッシュを 2 倍にしました)。
編集:何人かのユーザーが、私が最初にやろうとしていることよりもはるかにクリーンなものを提案しています。なぜ機能しないのか知りたいので、この質問を開いたままにします。
編集:上記のソリューションを使用しましたが、完全に満足しています。Windows が元のパスへのアクセスを許可しない理由はまだわかりませんが、この時点では気にしないと思います。ありがとう、みんな!