我正在编写一个java代码来将附件从指定位置检索到文件系统。 附件信息存储到数据库表列中,如下所示
Number attachment_url
----------- -----------------------------------------------------------------
SAT-3 C:\test_attachments\SAT\SAT-368\thumbs\_thumb_63650.png
SAT-10 C:\test_attachments\SAT\thumbs\_ts63650.xls
SAT-89 C:\test_attachments\SAT\thumbs\mydoc.pdf
文件扩展名可以是任意的。
我能够获取附件 URL,也能够创建文件夹。但是我如何将附件写入特定文件夹?
File files = new File("E:\\Directory1\\" + m_Number);
if (!files.exists()) {
if (files.mkdirs()) {
System.out.println("Multiple directories are created!");
if (files.exists()) {
System.out.println("Directory exists");
if (files.canWrite()) {
Blob blob = resultSet.getBlob("att_url");
} else {
System.out.println("Access denied !!!");
}
}
} else {
System.out.println("Failed to create multiple directories!");
}
我怎样才能实现这个目标
最佳答案
附件 URL 似乎不是 BLOB。我认为这是一个字符串。因此,只需获取字符串并创建一个 File 对象即可。如果该文件存在,您可以将其复制到您的文件夹中。
File files = new File("E:\\Directory1\\" + m_jiraNumber);
if (!files.exists()) {
if (files.mkdirs()) {
System.out.println("Multiple directories are created!");
if (files.exists()) {
System.out.println("Directory exists");
if (files.canWrite()) {
String attachment = resultSet.getString("attachment_url").replace("\\", File.separator);
Path sourcePath = Paths.get(attachment);
Path destPath = Paths.get(files.getAbsolutePath() + File.separator + sourcePath.getFileName().toString());
Files.copy(sourcePath, destPath);
} else {
System.out.println("Access denied !!!");
}
}
} else {
System.out.println("Failed to create multiple directories!");
}
}
关于java - 如何从指定位置获取附件并将其存储到文件系统?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22910949/