尝试将视频文件移动到其他文件夹(java、windows)时拒绝访问

db2dz4w8  于 2021-06-29  发布在  Java
关注(0)|答案(2)|浏览(359)

我试图运行一个代码,可以移动一个视频文件从一个文件夹到另一个在windows中,但我得到了一个错误,说访问被拒绝。
错误发生在我:
i) 将文件从c驱动器文件夹移动到d驱动器文件夹
ii)将文件从d驱动器文件夹移动到c驱动器文件夹
两者都显示了错误的访问被拒绝的文件夹,我正试图把视频文件。我不认为在这里显示文件路径是安全的,所以我没有分享错误。我只是一个技术和编程界的新手,不知道这是不是真的。
我该如何解决这个问题?为什么会发生这种情况?下面是我运行的代码。

public class TryUploadFile {
  public static void main(String[] args) {
    final int BUFFERSIZE = 4 * 1024;
    Scanner s = new Scanner(System. in );
    System.out.print("Enter source file path: ");
    String sourceFilePath = s.nextLine();
    System.out.println("Enter output file path: ");
    String outputFilePath = s.nextLine();

    try (
    FileInputStream fin = new FileInputStream(new File(sourceFilePath));
    FileOutputStream fout = new FileOutputStream(new File(outputFilePath));) {

      byte[] buffer = new byte[BUFFERSIZE];

      while (fin.available() != 0) {
        fin.read(buffer);
        fout.write(buffer);
      }

    }
    catch(Exception e) {
      System.out.println("Something went wrong! Reason: " + e.getMessage());
    }

  }

}
46scxncf

46scxncf1#

您可以尝试检查这些:
您提供的文件夹路径。有时,相对/绝对路径不正确,导致此错误。
目标文件夹的“写入”权限

thtygnil

thtygnil2#

建议
例如,为您的任务使用新的java文件复制方法

Files.copy(Paths.get("D","My Folder","My Video.mp3"),Paths.get("C","My Folder","My Video.mp3"), StandardCopyOptions.REPLACE_EXISTING);

可能的解决方案
您的c驱动器总是要求您具有管理员权限才能将任何内容复制到其中。要么获取你要复制到的目录的所有权,要么读取这个线程,或者从你的应用程序中创建一个jar文件并以管理员身份运行

相关问题