##現状
pathクラスでパスを取得し、Filesクラスのmoveメソッドを使用してデスクトップのファイル移動を行った結果エラーが返って来ました。
エラー内容は下記の通りです。
/Users/higota/Desktop/file_ope/ms.txtno /Users/higota/Desktop/aaa:no java.nio.file.FileSystemException: /Users/higota/Desktop/aaa: Operation not permitted at sun.nio.fs.UnixException.translateToIOException(UnixException.java:86) at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102) at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107) at sun.nio.fs.UnixCopyFile.move(UnixCopyFile.java:409) at sun.nio.fs.UnixFileSystemProvider.move(UnixFileSystemProvider.java:262) at java.nio.file.Files.move(Files.java:1395) at filleOperasion.fillMove.main(fillMove.java:28) ファイル移動に失敗しました
##試したこと
Operation not permittedというエラーが出ていることから、ターミナルとEclipseにアクセス許可を与えましたが失敗です。
##質問
①Operation not permittedを解決するにはどのような方法がありますか?
②ファイルの移動ができない理由で考えられることはありますか?
##該当コード
package filleOperasion; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.nio.file.StandardCopyOption; public class fillMove { public static void main(String[] args) throws IOException{ try { //移動させたいファイルのパス Path path1 = Paths.get("/Users/higota/Desktop/file_ope/ms.txt"); Path Destinatian = Paths.get("/Users/higota/Desktop/aaa"); //pathの確認 if(Files.exists(path1)){ System.out.println(path1 + ":yes"); }else { System.out.println(path1 + "no"); } if(Files.exists(Destinatian)){ System.out.println(Destinatian + ":yes"); }else { System.out.println(Destinatian + ":no"); } //移動実行 Files.move(path1, Destinatian , StandardCopyOption.REPLACE_EXISTING); }catch(IOException e){ e.printStackTrace(); System.out.println("ファイル移動に失敗しました"); } } }

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/07/05 13:03