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(); } }
 

技术
©2019-2020 Toolsou All rights reserved,
[数据结构]八大排序算法(C语言)总结G1垃圾收集器面试题Android中使用微信H5支付时支付结果刷新问题32-jdbc工具类大学里要参加竞赛吗?都有哪些竞赛可以参加?震惊!!C++居然可以发出声音!C语言之链表入门(超详解)Java实现一个疫情人数管理系统如何用python实现斐波那契数列的前100个MyBatis循环Map(高级用法)