当前位置: 首页 > news >正文

官方网站的网络营销功能分析宠物网站开发

官方网站的网络营销功能分析,宠物网站开发,寻找销售团队外包,网站建设美工百度百科概述 IO流本质 I/O表示Input/Output,即数据传输过程中的输入/输出,并且输入和输出都是相对于内存来讲Java IO(输入/输出)流是Java用于处理数据读取和写入的关键组件常见的I|O介质包括 文件(输入|输出)网络(输入|输出)键盘(输出)显示器(输出)使用场景 文件拷贝#xff08;FileFile文件上传下载Excel导入导出网络程序中数据传输聊天工具 分类 概述 Java中几乎所有的IO操作都需要使用java.io包;流可以通过如下方式进行分类 按流向分输入输出过程通常都是站在程序角度考虑 输入流Input输出流Output按流的处理类型分 字节流byte: 字节是计算机存储容量的基本单位(Byte)1B8b二进制中占8位字符流char: 字符是文字或符号的统称 注意字节流对于什么类型的文件都可以读取,如二进制类型的文件(图片视频音频压缩                    文件等),而字符流用于读取文本类型文件 按流的功能来分 节点流直接跟输入输出源交互处理流对其他流包装的流包装流 字节流(InputStream OutputStream) InputStream 类图 OutputStream类图 日常开发过程中常用的字节流 FileInputStream FileOutputStream: 常用来实现文件复制/拷贝 BufferedInputStream BufferedOutputStream: 为了减少IO次数,提高读取效率 PrintStream:源自OutputStream,标准字节的打印输出流(日志框架的实现原理) ZipOutputStream ZipInputStream:用来进行文件压缩/文件解压 字符流(Reader Writer) Reader类图 Writer类图 日常开发过程中常用的字符流 FileReaderFileWriter作用同FileInputStream FileOutputStream BufferedReaderBufferedWriter作用同BufferedInputStream BufferedOutputStream,同时BufferedReader提供了按行读取文本的方法,方便文本处理 扩展: 我们知道字节流可以读取任意文件,为什么还要设计出字符流呢? 对于字符文件,先作为字节传输-再转成字符,比较耗时对于字符文件,如果其中为中文,则容易乱码 设计模式 在IO流中使用了多种设计模式,包括如下 适配器模式 适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 Java IO中为了实现字符流和字节流之间的相互转换,设计了两个适配器的类, InputStreamReader和OutputStreamWriter InputStreamReader isr new InputStreamReader(new FileInputStream(fileName), UTF-8); BufferedReader bufferedReader new BufferedReader(isr);装饰器模式 装饰器模式可以将新功能动态地附加于现有对象而不改变现有对象的功能。InputStream的子类FilterInputStream,OutputStream 的子类 FilterOutputStream,Reader 的子类 BufferedReader 以及 FilterReader,还有Writer的子类BufferedWriter、FilterWriter 以及 PrintWriter等,它们都是抽象装饰类。增强了子类对象的功能。 实践 ZipOutputStreamFileOutputStreamFileInputStream实现文件压缩 /*** 功能: 通过ZipOutputStream压缩文件,最后返回压缩包* param files* param fileName* return*/ public File zipFiles(File[] files,String fileName) {File zipFile null;FileOutputStream fosZipFile null;ZipOutputStream zosZipFile null; //压缩文件输出流try {zipFile downloadAttachmentService.createFile(, fileName); //创建一个空的文件目录fosZipFile new FileOutputStream(zipFile); //以文件流从内存中输出zosZipFile new ZipOutputStream(fosZipFile); //以压缩流从内存中输出for (File file : files) {FileInputStream fis new FileInputStream(file); //对每个文件创建输入流,读取文件到内存ZipEntry zipEntry new ZipEntry(file.getName()); //ZipEntry用来创建压缩文件zosZipFile.putNextEntry(zipEntry); //加入需要压缩的文件byte[] bytes new byte[1024];int length;while((length fis.read(bytes)) 0) { //读取文件到内存zosZipFile.write(bytes, 0, length); //文件写入压缩流}fis.close();}} catch (IOException e) {e.printStackTrace();} finally { //关闭流try {zosZipFile.close();fosZipFile.close();} catch (IOException e) {e.printStackTrace();}}return zipFile; //返回压缩包 } /*** Title: createFile* Description: 创建下载目录文件* author Bierce* param rootPath* param filename* return* throws IOException*/ public File createFile(String rootPath, String filename) throws IOException {// Default root pathif (rootPath.isEmpty()) {rootPath download-cache;}File fRoot new File(rootPath);if (!fRoot.exists() || !fRoot.isDirectory()) {fRoot.mkdirs();}// job sub pathString uuid UUID.randomUUID().toString();String directoryJob rootPath File.separator getClass().getSimpleName() File.separator uuid;//文件名称随机生成保证唯一File dirJob new File(directoryJob);if (!dirJob.exists() || !dirJob.isDirectory()) {dirJob.mkdirs();}String filePath directoryJob File.separator filename;File file new File(filePath);if (!file.exists()) {file.createNewFile();}return file; } //-----------------扩展方法-文件名去重保证唯一----------------- /*** Title: snFileName_noUIID* Description: 去除sn文件UUID以及解决sn文件名重复问题* author Bierce* return file*/ public File snFileName_noUIID(String fileParentPath,String snFileName,File file){//snFileName:完整文件名 sn-xx..UUID..xx.xlsx//snFileName_delUIID: sn.xlsx//snFileName_prefix: sn//suffix:xlsx//文件名如sn.xlsxString snFileName_delUIID snFileName.substring(0,snFileName.length() - 42) .xlsx;//42是固定长度UUID.xlsxString snFileName_prefix snFileName.substring(0,snFileName.length() - 42);//文件前缀String suffix snFileName.substring(snFileName.lastIndexOf(.));//文件后缀.xlsxtry {file new File(fileParentPath snFileName_delUIID);//设置sn文件所在目录为计划交接文件目录下int i 1;//对于同名SN文件情况重新命名while(file.exists()) {//保证文件夹下不存在同名文件String newFileName snFileName_prefix ( i ) suffix;String parentPath file.getParent();file new File(parentPath File.separator newFileName);i;}file.createNewFile();//new File 只是创建了一个File对象还需要调用createNewFile()方法才能实现文件的成功创建} catch (Exception e) {}return file; }
http://www.pierceye.com/news/909826/

相关文章:

  • 手机上制作网站的软件巢湖有没有专门做网站的公司
  • 哪里有做企业网站的wordpress 主题类型
  • 什么是网站平台开发工具网站怎么做筛选功能的代码
  • 自建站 外贸军事内参消息
  • 化妆品网站建设实训总结坂田建设网站
  • 成都网站建设哪家专业嘉峪关市建设局网站
  • 企业策划 企业网站建设 品牌设计下载住小帮app看装修
  • wordpress文章内图片不显示不出来成都seo整站
  • 鞍钢节能公司网站开发陈仓网站建设
  • 手机网站怎样排版最好东莞常平招聘网最新招聘信息
  • 网站推广途径选择com域名和网站
  • 建设网站后如何上线免费的网站app下载
  • 哪些动物可以做网站名天津免费建站
  • 网站关键字优化技巧如何做推广麦当劳的网站
  • 广州公司注册场地要求网站怎么优化排名的方法
  • 自己做网站用什么软件建设银行网站联系电话
  • 做一个论坛网站需要多少钱推广型网站制作公司
  • 网站介绍页面网站建设怎么找客户资源
  • 我的百度网盘登录入口大兵seo博客
  • 注册监理工程师注册查询系统关于进一步优化 广州
  • 建设网站怎样挣钱网页设计培训班哪里好
  • 类似+wordpress+建站wordpress教程视频教程
  • wordpress多个网站百度识图扫一扫入口
  • 广州网站建设的费用网站建设外包必须注意几点
  • 蓬莱做网站公司辽宁省网站备案要求
  • 西安做网站价格女装标题优化关键词
  • 三门峡市建设局网站wordpress安装伪静态
  • 校园兼职网站开发用例图最厉害的搜索引擎
  • 企业网站seo哪里好10黄页网站建设
  • 中国空间站网站色彩的应用