Java io流文件读取和写入

Java io流文件读取和写入Javaio流操作demo类1.读取操作/***@authorlxw*@date2020/6/24*@desc获取文件输入流,这里读入内存中*@param[fileName]*@returnbyte[]**/publicbyte[]readPdfFile(StringfileName)throwsException{InputStreamin=null;

大家好,又见面了,我是你们的朋友全栈君。

Java io 流操作demo类

1.读取操作

 /**
     *@author lxw
     *@date 2020/6/24
     *@desc 获取文件输入流,这里读入内存中
     *@param [fileName]
     *@return byte[]
    **/
    public byte[] readPdfFile(String fileName) throws Exception{
        InputStream in = null;
        byte[] bytesRel;
        try {
            //读取Constants.PDF_CREATE_AND_SIGN.PDF_FILE_PATH路径下文件名位fileName的文件
            File f = new File(Constants.PDF_CREATE_AND_SIGN.PDF_FILE_PATH+fileName);
            in = new FileInputStream(f);
            //in.available 只适合于读取本地文件时判断流中字节数,不适合网络中的流数据大小判定
            bytesRel = new byte[ in.available()];
            in.read(bytesRel);
        } catch (IOException e) {
          log.error("读取文件{}失败!"+Constants.PDF_CREATE_AND_SIGN.PDF_FILE_PATH+fileName);
          throw new BizException(IfspRespCode.RESP_ERROR,"读取pdf文件失败!");
        }finally {
            if (in != null){
                try {
                    in.close();
                } catch (IOException e) {
                    log.error("输入流关闭失败!原因:{}",e.getMessage());
                }
            }
        }
        return  bytesRel;
    }

2.写文件

 /**
     *@author lxw
     *@date 2020/6/24
     *@desc 写文件 如果想提高效率,可以使用缓冲流
     *@param [pdfByte, fileName]
     *@return void
    **/
    public void writePdfFile(byte[] pdfByte,String fileName) throws Exception{
        //检查文件是否已经存在,存在删除
        checkFIleExit(fileName,Constants.PDF_CREATE_AND_SIGN.PDF_FILE_PATH);
        OutputStream os = null;
        try {
            os = new FileOutputStream(Constants.PDF_CREATE_AND_SIGN.PDF_FILE_PATH+fileName);
            os.write( pdfByte ) ;
            os.flush() ;
        } catch (IOException e) {
            log.error("写入文件{}失败!"+Constants.PDF_CREATE_AND_SIGN.PDF_FILE_PATH+fileName);
        }finally {
            try {
                if (os!=null)  os.close();
            } catch (IOException e) {
                log.error("输入流关闭失败!原因:{}",e.getMessage());
            }
        }
    }


 /**
     *@author lxw
     *@date 2020/6/23
     *@desc 检查文件是否存在,存在就删除掉
     *@param [fileName, path]
     *@return void
    **/
    public void checkFIleExit(String fileName,String path){
        log.info("checkFIleExit方法入参:fileName:{},path:{}",fileName,path);
        File file = new File(path+fileName);
        if (file.exists()){
            file.delete();
        }
    }

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/139697.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • EnterpriseLibrary 介绍[通俗易懂]

    EnterpriseLibrary 介绍[通俗易懂]创建数据库对象的方法http://tutuya.cnblogs.com/articles/441337.html

    2022年10月20日
    0
  • myeclipse添加svn插件「建议收藏」

    myeclipse添加svn插件「建议收藏」转载:http://www.cnblogs.com/xdp-gacl/p/3497016.htmlMyEclipse使用总结——MyEclipse10安装SVN插件一、下载SVN插件subclipse下载地址:http://subclipse.tigris.org/servlets/ProjectDocumentList?folderID=2240在打开的网站中

    2022年7月20日
    11
  • jenkins 邮件_jmeter测试报告生成

    jenkins 邮件_jmeter测试报告生成前言前面已经实现在jenkins上展示html的测试报告,接下来只差最后一步,把报告发给你的领导,展示你的劳动成果了。安装EmailExtensionPlugin插件jenkins首页-

    2022年7月31日
    3
  • 网页服务器停止响应是什么意思_次数限制

    网页服务器停止响应是什么意思_次数限制1.根据以往的经验以为是缓冲池的缘故。于是我新建一个缓冲池之后(尽量大的配置)发现问题依旧2.修改查询语句 select*fromtable改成selecttop500*fromtable发现问题依旧 没有办法于是认真的查看程序 结果发现自己的低级错误少加一句rs.movenext加上之后问题解决  根据这次的问题心得是:1.发现问题先看看

    2022年10月21日
    0
  • java helloworld源代码_Java Hello World源代码notepad++版

    java helloworld源代码_Java Hello World源代码notepad++版Notepad++中写JavaHelloWorld代码并运行,步骤如下:1、在E:\CodeDemo\Java文件夹下(你也可以选择自己的文件夹)新建一个txt文本文件。如果没有NotePad++,请去官网下载安装。2、重命名为Hello.java,在弹出对话框单击是。3、右单击新建的Hello.java文件弹出快捷菜单,使用editwithnotepad++编辑Hello.java文件…

    2022年5月28日
    38
  • phpstorm2021.4激活码_通用破解码

    phpstorm2021.4激活码_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月16日
    69

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号