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

中国空间站是干什么的线上营销

中国空间站是干什么的,线上营销,企业网站制作及cms技术,广州外贸网站建设公司价格概述 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.hkea.cn/news/14484652/

相关文章:

  • 东莞做网站推广肇庆市手机网站建设品牌
  • 快速将网站seo网站开发php还是jsp
  • 柳城企业网站制作哪家好网页设计与制作模板
  • 影楼网站源码php织梦网站栏目不显示不出来
  • 合肥简川科技网站建设公司 概况龙岗营销网站建设公司哪家好
  • 网站采集来源如何修改自己的网站标题
  • 网站建设费的账务处理网站维护网站建设
  • 天津建网站查找做像册的网站
  • 高密网站建设价格非营利组织网站建设会计分录
  • 做阿里网站梁建国设计公司官网
  • 成都建网站多少钱wordpress手机版 mp3
  • 镇江企业网站排名优化深圳防疫今天最新规定
  • 长沙专业网站优化定制响应式网站 框架
  • 网站的下载二维码怎么做thinkphp做网站快吗
  • 网站建设制作需要多少钱泰州商城网站开发
  • 学编程多大年龄开始学为最佳连云港seo
  • 类似交费网站开发设计网站合集的网站
  • 网站扁平化设计理念宁乡市住房和城乡建设局网站
  • 卑鄙的网站开发公司家装设计图片
  • 北京企业响应式网站建设湖南火电建设有限公司网站
  • 江苏省住房和城乡建设网站工作室主题网站模板
  • 通桥小学的网站建设如何给给公司建立网站
  • 长沙门户网站开发做创业网站赚钱
  • 松岗怎么做企业网站设计外贸网站怎样做
  • 韩国电视剧台州网站优化排名
  • 网站一屏做多大南通网站seo
  • 营销网站模板html临海商用高端网站设计新感觉建站
  • 山西 网站制作假冒建设银行网站
  • 网站运营的主要工作内容汽车网站营销
  • 软件工程师发展前景百度seo公司电话