澧县网络公司哪家好【澧县企业网站百度SEO推广公司】澧县做网站开发价格、澧县淘宝店铺开店装修设计运营、公司网站制作方案流程改版维护费用、澧县高端企业网站页面制作设计专业公司需要多少钱-网站制作-网站建设【企业网站制作|网页设计】- 高端网站建设 - 书生商友信息科技-

全国热线:400-111-6878

网站建设推广专家

澧县网络公司哪家好【澧县企业网站百度SEO推广公司】澧县做网站开发价格、澧县淘宝店铺开店装修设计运营、公司网站制作方案流程改版维护费用、澧县高端企业网站页面制作设计专业公司需要多少钱

发表日期: 2021-03-27 09:40:54 浏览次数:109

澧县网络公司哪家好【澧县企业网站百度SEO推广公司】澧县做网站开发价格、澧县淘宝店铺开店装修设计运营、公司网站制作方案流程改版维护费用、澧县高端企业网站页面制作设计专业公司需要多少钱

澧县,隶属于湖南省常德市,因澧水贯穿全境而得名,位于长江中游,湖南省西北部,洞庭湖西岸,与长江直线距离80公里。梁敬帝绍泰元年(555)始置澧州。隋开皇九年(公元589年)罢天门郡,置澧州,新置澧阳县。2015年,全县辖4个街道、15个镇,境内气候适宜,地貌多样,水面广大。澧县拥有澧阳平原(湖南省最大的平原)绝大部分,面积2107.3平方公里。粮、棉、油、猪、鱼是澧县五大农业支柱产品。

澧县是全国商品粮基地县、全国优质棉基地县、全国油菜生产百强县、国家农业可持续发展实验示范区、全国葡萄标准化栽培示范基地、国家新型城镇化综合改革试点县、国家中小城市综合改革试点县、国家卫生县城、中华诗词之乡、湖南省文明县城、湖南省园林县城、湖南省经济强县、湖南省全面小康”十快进县”。 [1]  有国家级文物保护单位13处,以城头山、彭头山、鸡叫城、八十垱、十里岗、丁家岗为核心的澧阳平原史前文化遗址群已由国家向联合国申请世界文化遗产,其中城头山古文化遗址发现了中国最早的、距今6000年的古城址、古祭坛和古稻田。2015年被列为第二批国家新型城镇化综合试点地区。 [2] 

第一批国家农业可持续发展试验示范区。 [3-4]  2019年12月31日,入选全国农村创新创业典型县。 [5]  2021年1月29日,入选湖南省人民政府公布的2020年度真抓实干成效明显的地区名单。

16.3 字节流

上一节总体概述了Java中I/O流层次结构技术,本节详细介绍一下字节流的API。掌握字节流的API先要熟悉它的两个抽象类:InputStream 和OutputStream,了解它们有哪些主要的方法。

16.3.1 InputStream抽象类

InputStream是字节输入流的根类,它定义了很多方法,影响着字节输入流的行为。下面详细介绍一下。

InputStream主要方法如下:

上述所有方法都可能会抛出IOException,因此使用时要注意处理异常。

16.3.2 OutputStream抽象类

OutputStream是字节输出流的根类,它定义了很多方法,影响着字节输出流的行为。下面详细介绍一下。

OutputStream主要方法如下:

上述所有方法都声明抛出IOException,因此使用时要注意处理异常。

注意 流(包括输入流和输出流)所占用的资源,不能通过JVM的垃圾收集器回收,需要程序员自己释放。一种方法是可以在finally代码块调用close()方法关闭流,释放流所占用的资源。另一种方法通过自动资源管理技术管理这些流,流(包括输入流和输出流)都实现了AutoCloseable接口,可以使用自动资源管理技术,具体内容参考14.4.2节。

16.3.3 案例:文件复制

前面介绍了两种字节流常用的方法,下面通过一个案例熟悉一下它们的使用,该案例实现了文件复制,数据源是文件,所以会用到文件输入流FileInputStream,数据目的地也是文件,所以会用到文件输出流FileOutputStream。

FileInputStream和FileOutputStream中主要方法都是继承自InputStream和OutputStream前面两个节已经详细介绍了,这里不再赘述。下面介绍一下它们的构造方法,FileInputStream构造方法主要有:

FileOutputStream构造方法主要有:

下面介绍如果将./TestDir/build.txt文件内容复制到./TestDir/subDir/build.txt。./TestDir/build.txt文件内容是AI-162.3764568,实现代码如下:

     //FileCopy.java文件
     package com.a51work6;

     import java.io.FileInputStream;
     import java.io.FileNotFoundException;
     import java.io.FileOutputStream;
     import java.io.IOException;

     public class FileCopy {

         public static void main(String[] args) {

             try (FileInputStream in = new FileInputStream("./TestDir/build.txt");
                     FileOutputStream out = new FileOutputStream("./TestDir/subDir/build.txt")) {    ①

                 // 准备一个缓冲区
                 byte[] buffer = new byte[10];              ②
                 // 首先读取一次
                 int len = in.read(buffer);                 ③

                 while (len != -1) {                        ④
                     String copyStr = new String(buffer);   ⑤
                     // 打印复制的字符串
                     System.out.println(copyStr);
                     // 开始写入数据
                     out.write(buffer, 0, len);             ⑥
                     // 再读取一次
                     len = in.read(buffer);                 ⑦
                 }

             } catch (FileNotFoundException e) {
                 e.printStackTrace();
             } catch (IOException e) {
                 e.printStackTrace();
             }
         }
     }复制代码

控制台输出结果:

     AI-162.376
     456862.376复制代码

上述代码第①行创建FileInputStream和FileOutputStream对象,这是自动资源管理的写法,不需要自己关闭流。

第②行代码是准备一个缓冲区,它是字节数组,读取输入流的数据保存到缓冲区中,然后将缓冲区中的数据再写入到输出流中。

提示 缓冲区大小(字节数组长度)多少合适?缓冲区大小决定了一次读写操作的最多字节数,缓冲区设置的很小,会进行多次读写操作才能完成。所以如果当前计算机内存足够大,而不影响其它应用运行情况下,当然缓冲区是越大越好。本例中缓冲区大小设置的10,源文件中内容是AI-162.3764568,共有14个字符,由于这些字符都属于ASCII字符,因此14个字符需要14字节描述,需要读写两次才能完成复制。

代码第③行是第一次从输入流中读取数据,数据保存到buffer中,len是实际读取的字节数。代码第⑦行也从输入流中读取数据。由于本例中缓冲区大小设置为10,因此这两次读取数据会把数据读完,第一次读了10个字节,第二次读了4个字节。

代码第④行是判断读取的字节数len是否等于-1,代码第⑦行的len = in.read(buffer)事实上执行了两次,第一次执行时len为4,第二次执行时len为-1。

代码第⑤行是使用字节数组构造字符串,然后通过System.out.println(copyStr)语句将字符串输出到控制台。从输出的结果看输出了两次,每次10个字节,第一次输出结果AI-162.376容易理解,它是AI-162.3764568的前10个字符;那么第二次输出的结果456862.376令人匪夷所思,事实上前4个字符(4568)是第二次读取的,后面的6个字符(62.376)是上一次读取的。两次读取内容如图16-7所示。

{%}

图16-7 文件读取示意图

代码第⑥行out.write(buffer, 0, len)是向输出流写入数据,与读取数据对应,数据写入也调用了两次,第一次len为10,将缓冲区buffer所有元素全部写入输出流;第二次len为4,将缓冲区buffer所有前4个元素写入输出流。注意这里不要使用void write(byte b[ ])方法,因为它没法控制第二次写入的字节数。

上面的案例由于使用了字节输入输出流,所以不仅可以复制文本文件,还可以复制二进制文件。


澧县网络公司哪家好澧县企业网站百度SEO推广公司澧县做网站开发价格、澧县淘宝店铺开店装修设计运营、公司网站制作方案流程改版维护费用、澧县高端企业网站页面制作设计专业公司需要多少钱


上一条:澧县企业微信公众号小程序开发公司、澧县企业网页设计方案、澧县做网站开发价格、澧县微信公众号制作运营报价明细表、澧县网站设计公司费用、澧县网站推广大概需要多少钱
下一条:澧县网站制作要多少钱【域名企业邮箱服务器注册申请办理】澧县网络优化公司哪家好、澧县软件开发外包价格、澧县高端企业网站页面制作设计专业公司、澧县微信公众号小程序购物支付搭建制作公司
网站制作
小程序制作
网站优化
网站开发
400电话办理
网络推广
网站建设
网店装修
微信公众号开发
网页设计
网络公司
域名企业邮箱
服务器空间
网站案例报价
百科问答
编辑排版美工
App软件开发
百度推广
代运营托管
logo设计
网络全网营销
网站备案
网站定制
小程序开发公司
首页
电话
立即预约