我继承了这段代码,它包含一个函数,该函数将.pdf文件从一个位置复制到另一个位置,在这个过程中创建新文件夹(由哈希值命名),并将新路径保存到一个数据库,BI工具稍后使用该数据库通过API访问该文件。
在我们将文件服务器移动到一个新主机,并四次检查权限和路径引用之后,在将文件复制到代码中的新位置时,我们将收到这个java.io.IoException。复制失败,无法在适用的地方创建文件夹,并且无法通过API访问文件。
import java.io.File;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.FilenameUtils;
public boolean pushFile(File file, String newFileName)
{
File newFile = new File(SAN_LOCATION + "\\" + newFileName.subSequence(0, 2) + "\\" + newFileName);
try
{
System.out.print("Copying " + file.getName() + " to: " + newFile.getAbsolutePath());
FileUtils.copyFile(file, newFile);
System.out.println(" - Good file transfer");
} catch (IOException ex)
{
System.out.println(" - Bad file transfer");
Logger.getLogger(Utilities.class.getName()).log(Level.SEVERE, null, ex);
return false;
}
return true;
}
Copying ARC FERM 2019-06-18 07-35-58_AM0000006.pdf to: \\tf-fs-1\arcstor\fc\fc3533e07547850176b671730ddccfcc - Bad file transfer
java : Jun 18, 2019 11:01:27 AM datatosql.PushToSQL pushFile
At C:\arc\ch_agilent_hplc.ps1:2 char:1
+ java -jar ".\Agilent.jar" CH HPLC "$file" 2>&1 | Out-File C:\arc\Logs\Agilent\ch ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (Jun 18, 2019 11...hToSQL pushFile:String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError
SEVERE: null
java.io.IOException: There are no more files
at java.io.WinNTFileSystem.canonicalize0(Native Method)
at java.io.WinNTFileSystem.canonicalize(Unknown Source)
at java.io.File.getCanonicalPath(Unknown Source)
at org.apache.commons.io.FileUtils.copyFile(FileUtils.java:1076)
at org.apache.commons.io.FileUtils.copyFile(FileUtils.java:1040)
at datatosql.PushToSQL.pushFile(PushToSQL.java:763)
at datatosql.PushToSQL.push(PushToSQL.java:508)
at agilent.Agilent.main(Agilent.java:503)
enter code here
我也面临着类似的问题。在我的例子中,我在循环中使用fileutils.copyfile(file,newFile)
。在成功复制258次后,我会得到那个错误。我修改了代码,改为使用文件。copy(sourcePath,destPath)
,这样问题就解决了。
问题内容: 我想将文件从Java中的一个位置复制到另一位置。做这个的最好方式是什么? 这是我到目前为止的内容: 这不会复制文件,执行此操作的最佳方法是什么? 问题答案: 您可以使用此(或任何变体): 另外,我建议您使用或代替使其兼容于多个操作系统. 由于您不确定如何临时存储文件,因此请查看: 要将a 个文件移动到单个目录中:
问题内容: 我想为我们的多TB文件服务器的结构创建一个克隆。我知道cp –parents可以移动文件及其父结构,但是有什么办法可以完整地复制目录结构? 我想复制到Linux系统,并且文件服务器安装在CIFS上。 问题答案: 您可以执行以下操作: 创建目录列表,然后 在目标上创建目录。
问题内容: 我有两个Java.io.File对象file1和file2。我想将内容从file1复制到file2。有没有一种标准的方法可以执行此操作,而无需创建必须读取文件1并写入文件2的方法 问题答案: 不,没有内置方法可以做到这一点。与您要完成的工作最接近的是from 的方法,如下所示: 并且不要忘记处理异常并在一个块中关闭所有内容。
//我得到的错误是java。尼奥。文件FileAlreadyExistsException所以据我所知,它试图将文件保存到确切的位置,而不是保存在文件中,如果我将目标地址改为“垃圾/垃圾”,我需要以这种方式保存几个文本文件。它将在那里保存一个名为垃圾的文件。txt。但在for-each的下一个循环中,它会抛出一个“已经存在”的异常。。。 有人能解释一下我如何从src文件夹将所有txt文件保存到该文
如何将一个文本文件复制到另一个文本文件中?我试过这个: 这只是在中留下以下值:。 我做错了什么?