首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将附件从指定位置获取并存储到文件系统?

如何将附件从指定位置获取并存储到文件系统?
EN

Stack Overflow用户
提问于 2014-04-07 11:21:28
回答 1查看 709关注 0票数 0

我正在编写一个java代码来检索从指定位置到文件系统的附件。附件信息存储在数据库表列中,如下所示

代码语言:javascript
复制
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,也可以创建一个文件夹。但是我怎样才能把附件写到特定的文件夹呢?

代码语言:javascript
复制
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!");
                }

我怎样才能做到这一点

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-07 11:31:29

附件url似乎不是一个小斑点。我想是一根绳子。因此,只需获取字符串并创建File对象即可。如果文件存在,则可以将其复制到文件夹中。

代码语言:javascript
复制
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!");
        }
    }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22910949

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档