嗨,我必须将文件从一个文件夹复制到另一个文件夹。这是我的代码。
File newFile = new File("/folder1/folder2/folder3/abc.txt");
File currentFolder = new File("/folder1/folder2/folder4/" + File.separator);
Files.copy(newFile.toPath(), new File(currentFolder.getPath() + File.separator + newFile.getName()).toPath(),
StandardCopyOption.REPLACE_EXISTING);
这对我以前使用的所有模块都很好。但是仅对于一个特定的模块,它就会引发以下错误
java.nio.file.NoSuchFileException: /folder1/folder2/folder3/abc.txt
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.copy(UnixCopyFile.java:520)
at sun.nio.fs.UnixFileSystemProvider.copy(UnixFileSystemProvider.java:253)
at java.nio.file.Files.copy(Files.java:1227)
at com.saru.utils.copyNewFileToReferenceFolder(Unknown Source)
at com.saru.utils.FileProcessorSaru.processingIncomingFile(Unknown Source)
at com.saru.utils.FileProcessorSaru.processOracleFinancial(Unknown Source)
at com.saru.utils.FileProcessorSaru.run(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:65)
at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)
at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:81)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
相同的代码在 Windows 中运行良好。但是在linux中出现异常。注意:如果您要询问要复制到的文件夹是否存在,答案是肯定的。除了例外没有显示将文件复制到的文件夹。它显示文件当前所在的文件夹。
执行此代码时存在输入文件。但是为什么它看到了 NoSuchFile?
请帮我找出这里有什么问题。