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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Nodecache最适合国内地区的免备案CDN推荐!

    Nodecache最适合国内地区的免备案CDN推荐!自己的一个网站,因为服务器是海外的,虽然速度还不错,但延迟和丢包问题经常困扰着我。尤其是到了晚上,丢包情况就更加严重,所以需要一款免备案、有香港节点的CDN来提升一下访问体验。查了下资料,很多人推荐使用Nodecache,用了一段时间后感觉Nodecache确实还不错,下面给大家介绍一下。Nodecache是GlobalCacheTechnologyCo.,Ltd.旗下品牌,致力于为客户提供一站式的在线业务加速服务。Nodecache主要提供的就是免备案CDN加速、SSL证书、DNS

    2022年9月11日
    0
  • tar压缩文件

    tar压缩文件tar压缩的优点:兼容性好使用tar压缩文件tar-zcvftest.tar.gz./test/该命令表示压缩当前文件夹下的文件夹test,压缩后缀名为test.tar.gz如果不需要压缩成gz,只需要后缀为tar格式的,那么输入如下命令:tar-cvftest.tar./test/使用tar解压文件tar-xzvftest.tar.gz该命令表示把后缀为.tar.gz的文件解压到当前文件夹下。如果压缩文件的后缀是.tar,没有gz,则使用命令:tar-xvf

    2022年5月26日
    57
  • tensorflow2.0手写数字识别_python 数字识别

    tensorflow2.0手写数字识别_python 数字识别本文使用Tensorflow框架进行Python编程实现基于卷积神经网络的手写数字识别算法,并将其封装在一个GUI界面中,最终,设计并实现了一个手写数字识别系统。

    2022年9月14日
    0
  • hdu 3642 Get The Treasury (三维的扫描线)[通俗易懂]

    hdu 3642 Get The Treasury (三维的扫描线)

    2022年2月1日
    35
  • idea 文件打包jar_电脑打包文件怎么打包

    idea 文件打包jar_电脑打包文件怎么打包前言如何使用Idea把多个可执行的Class文件,打到一个Jar包里,使用Java命令执行不同的Class文件呢?还有,如何打成直接可执行的Jar包呢?下面进行说明

    2022年10月3日
    0
  • OpenGrok安装

    OpenGrok安装windows安装OpenGrok安装需要的几个工具1.JDK2.tomcat3.opengrk4.ctags1.软件安装1.1安装JDK下载地址:http://www.Oracle.com/technetwork/Java/javase/downloads/index.html从以上下载地址下载并安装。配置环境变量,我安装在H盘的,如下:J

    2022年5月1日
    78

发表回复

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

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