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

购物网站素材案例学 网页设计与网站建设

购物网站素材,案例学 网页设计与网站建设,类似于众人帮的做任务赚佣金网站,wordpress部署教程IO流#xff1a; 输入流#xff1a;输出流#xff1a; 字节流#xff1a;字符流#xff1a;为了处理文字数据方便而出现的对象。 其实这些对象的内部使用的还是字节流(因为文字最终也是字节数据) 只不过#xff0c;通过字节流读取了相对应的字节数#xff0c;没有对这些…IO流 输入流输出流 字节流字符流为了处理文字数据方便而出现的对象。 其实这些对象的内部使用的还是字节流(因为文字最终也是字节数据) 只不过通过字节流读取了相对应的字节数没有对这些字节直接操作。 而是去查了指定的(本机默认的)编码表获取到了对应的文字。 简单说字符流就是 字节流编码表。 -----------------------缓冲区提高效率的提高谁的效率提高流的操作数据的效率。 所以创建缓冲区之前必须先有流。 缓冲区的基本思想其实就是定义容器将数据进行临时存储。 对于缓冲区对象其实就是将这个容器进行了封装并提供了更多高效的操作方法。缓冲区可以提高流的操作效率。 其实是使用了一种设计思想完成。设计模式装饰设计模式。 Writer |--TextWriter |--MediaWriter现在要对该体系中的对象进行功能的增强。增强的最常见手段就是缓冲区。先将数据写到缓冲区中再将缓冲区中的数据一次性写到目的地。 按照之前学习过的基本的思想那就是对对象中的写方法进行覆盖。产生已有的对象子类复写write方法。不往目的地写而是往缓冲区写。 所以这个体系会变成这样。Writer |--TextWriter write:往目的地 |--BufferTextWriter write往缓冲区写 |--MediaWriter |--BufferMediaWriter想要写一些其他数据。就会子类。DataWriter为了提高其效率还要创建该类的子类。BufferDataWriterWriter |--TextWriter write:往目的地 |--BufferTextWriter write往缓冲区写 |--MediaWriter |--BufferMediaWriter |--DataWriter |--BufferDataWriter发现这个体系相当的麻烦。每产生一个子类都要有一个高效的子类。而且这写高效的子类使用的功能原理都一样都是缓冲区原理。无论数据是什么。都是通过缓冲区临时存储提高效率的。那么对于这个体系就可以进行优化因为没有必要让每一个对象都具备相同功能的子类。 哪个对象想要进行效率的提高只要让缓冲区对其操作即可。也就说单独将缓冲区进行封装变成对象。 //它的出现为了提高对象的效率。所以必须在创建它的时候先有需要被提高效率的对象class BufferWriter{ []; BufferedWriter(Writer w) { } /* BufferWriter(TextWriter w) { } BufferedWriter(MediaWriter w) { } */}BufferWriter的出现增强了Writer中的write方法。但是增强过后BufferWriter对外提供的还是write方法。只不过是高效的。所以写的实质没有变那么BufferWriter也是Writer中的一员。所以体系就会变成这样。Writer |--TextWriter |--MediaWriter |--BufferWriter |--DataWriterBufferWriter出现了避免了继承体系关系的臃肿比继承更为灵活。如果是为了增强功能这样方式解决起来更为方便。所以就把这种优化总结出来起个名字装饰设计模式。 装饰类和被装饰类肯定所属于同一个体系。 既然明确了BufferedReader由来。我们也可以独立完成缓冲区的建立 原理 1使用流的read方法从源中读取一批数据存储到缓冲区的数组中。 2通过计数器记录住存储的元素个数。 3通过数组的角标来获取数组中的元素(从缓冲区中取数据). 4指针会不断的自增当增到数组长度会归0.计数器会自减当减到0时就在从源拿一批数据进缓冲区。 内容补足MyBufferedReaderLineNumberReader 可以定义行号。---------字符流FileReaderFileWriter BufferedReaderBufferedWriter 字节流InputStream OutputStream。 操作文件的字节流对象。FileOutputStreamFileInputStreamBufferedOutputStreamBufferedInputStream 字符流和字节流之间的转换动作。   ---------- 转换流 InputStreamReader isr new InputStreamReader(new FileInputStream(a.txt));InputStreamReader isr new InputStreamReader(new FileInputStream(a.txt),gbk);FileReader fr new FileReader(a.txt); FileWriter fw new FileWriter(b.txt);OutputStreamWriter osw new OutputStreamWriter(new FileOutputStream(b.txt));OutputStreamWriter osw new OutputStreamWriter(new FileOutputStream(b.txt),gbk); 转换流字节流编码表。转换流的子类FileReaderFileWriter字节流本地默认码表(GBK)。 如果操作文本文件使用的本地默认编码表完成编码。可以使用FileReader或者FileWriter。因为这样写简便。如果对操作的文本文件需要使用指定编码表进行编解码操作这时必须使用转换流来完成。 ----------------------------- IO流的操作规律总结 1明确体系 数据源InputStream Reader 数据汇OutputStreamWriter2明确数据因为数据分两种字节字符。 数据源是否是纯文本数据呢 是Reader 否InputStream 数据汇 是Writer 否OutputStream到这里就可以明确具体要使用哪一个体系了。剩下的就是要明确使用这个体系中的哪个对象。 3明确设备 数据源 键盘System.in 硬盘FileXXX 内存数组。 网络socket socket.getInputStream(); 数据汇 控制台System.out 硬盘FileXXX 内存数组 网络socket socket.getOutputStream();4明确额外功能 1需要转换是使用转换流。InputStreamReader OutputStreamWriter 2需要高效是使用缓冲区。Buffered 3需要其他 -------------------- 1复制一个文本文件。 1明确体系 源InputStream Reader 目的OutputStream Writer 2明确数据 源是纯文本吗是 Reader 目的是纯文本吗是 Writer 3明确设备 源硬盘上的一个文件。 FileReader 目的硬盘上的一个文件。FileWriter FileReader fr new FileReader(a.txt); FileWriter fw new FileWriter(b.txt); 4需要额外功能吗 需要高效使用buffer BufferedReader bufr new BufferedReader(new FileReader(a.txt)); BufferedWriter bufw new BufferedWriter(new FileWriter(b.txt));2读取键盘录入将数据存储到一个文件中。 1明确体系 源InputStream Reader 目的OutputStream Writer 2明确数据 源是纯文本吗是 Reader 目的是纯文本吗是 Writer 3明确设备 源键盘System.in 目的硬盘FileWriter InputStream in System.in; FileWriter fw new FileWriter(a.txt); 4需要额外功能吗 需要因为源明确的体系时Reader。可是源的设备是System.in。 所以为了方便于操作文本数据将源转成字符流。需要转换流。InputStreamReader InputStreamReader isr new InputStreamReader(System.in); FileWriter fw new FileWriter(a.txt); 需要高效不?需要。Buffer BufferedReader bufr new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bufw new BufferedWriter(new FileWriter(a.txt)); 3读取一个文本文件将数据展现在控制台上。 1明确体系 源InputStream Reader 目的OutputStream Writer 2明确数据 源是纯文本吗是 Reader 目的是纯文本吗是 Writer 3明确设备 源硬盘文件FileReader。 目的控制台System.out。 FileReader fr new FileReader(a.txt); OutputStream out System.out; 4需要额外功能 因为源是文本数据确定是Writer体系。所以为了方便操作字符数据 需要使用字符流但是目的又是一个字节输出流。 需要一个转换流OutputStreamWriter FileReader fr new FileReader(a.txt); OutputStreamWriter osw new OutputStreamWriter(System.out); 需要高效吗需要。 BufferedReader bufr new BufferedReader(new FileReader(a.txt)); BufferedWriter bufw new BufferedWriter(new OutputStreamWriter(System.out)); 4读取键盘录入将数据展现在控制台上。 1明确体系 源InputStream Reader 目的OutputStream Writer 2明确数据 源是纯文本吗是 Reader 目的是纯文本吗是 Writer 3明确设备 源键盘System.in 目的控制台System.out InputStream in System.in; OutputStream out System.out; 4需要额外功能吗 因为处理的数据是文本数据同时确定是字符流体系。 为方便操作字符数据的可以将源和目的都转成字符流。使用转换流。 为了提高效率使用Buffer BufferedReader bufr new BufferedReader(new InputStreamReader(Systme.in)); BufferedWriter bufw new BufferedWriter(new OutputStreamWriter(System.out)); 5读取一个文本文件将文件按照指定的编码表UTF-8进行存储保存到另一个文件中。 1明确体系 源InputStream Reader 目的OutputStream Writer 2明确数据 源是纯文本吗是 Reader 目的是纯文本吗是 Writer 3明确设备 源硬盘FileReader. 目的硬盘FileWriter FileReader fr new FileReader(a.txt); FileWriter fw new FileWriter(b.txt); 4额外功能 注意目的中虽然是一个文件但是需要指定编码表。 而直接操作文本文件的FileWriter本身内置的是本地默认码表。无法明确具体指定码表。 这时就需要转换功能。OutputStreamWriter,而这个转换流需要接受一个字节输出流而且 对应的目的是一个文件。这时就使用字节输出流中的操作文件的流对象。FileOutputStream. FileReader fr new FileReader(a.txt); OutputStreamWriter osw new OutputStreamWriter(new FileOutputStream(b.txt),UTF-8); 需要高效吗 BufferedReader bufr new BufferedReader(new FileReader(a.txt)); BufferedWriter bufw new BufferedWriter(new OutputStreamWriter(new FileOutputStream(b.txt),UTF-8));目前为止10个流对象重点掌握。字符流FileReaderFileWriter BufferedReaderBufferedWriter InputStreamReaderOutputStreamWrier字节流 FileInputStreamFileOutputStream BufferedInputStreamBufferedOutputStream --------------------------------File类 用于将文件和文件夹封装成对象。 1创建。 boolean createNewFile():如果该文件不存在会创建如果已存在则不创建。不会像输出流一样会覆盖。 boolean mkdir(); boolean mkdirs(); 2删除。 boolean delete(); void deleteOnExit(); 3获取 String getAbsolutePath(); String getPath(); String getParent(); String getName(); long length(); long lastModified(); 4判断 boolean exists(); boolean isFile(); boolean isDirectory(); 5   ---------------------- IO中的其他功能流对象 1,打印流 PrintStream字节打印流。 特点 1构造函数接收File对象字符串路径字节输出流。意味着打印目的可以有很多。 2该对象具备特有的方法 打印方法 print println,可以打印任何类型的数据。 3特有的print方法可以保持任意类型数据表现形式的原样性将数据输出到目的地。 对于OutputStream父类中的write是将数据的最低字节写出去。 PrintWriter字符打印流。 特点 1当操作的数据是字符时可以选择PrintWriter比PrintStream要方便。 2它的构造函数可以接收 File对象字符串路径字节输出流字符输出流。 3构造函数中如果参数是输出流那么可以通过指定另一个参数true完成自动刷新该true对println方法有效。 什么时候用当需要保证数据表现的原样性时就可以使用打印流的打印方法来完成这样更为方便。保证原样性的原理其实就是将数据变成字符串在进行写入操作。   SequenceInputStream: 特点 1将多个字节读取流和并成一个读取流将多个源合并成一个源操作起来方便。 2需要的枚举接口可以通过Collections.enumeration(collection); ObjectInputStream 和 ObjectOutputStream 对象的序列化和反序列化。 writeObject readObject Serializable标记接口 关键字transient RandomAccessFile: 特点 1即可读取又可以写入。 2内部维护了一个大型的byte数组通过对数组的操作完成读取和写入。 3通过getFilePointer方法获取指针的位置还可以通过seek方法设置指针的位置。 4该对象的内容应该封装了字节输入流和字节输出流。 5该对象只能操作文件。 通过seek方法操作指针可以从这个数组中的任意位置上进行读和写 可以完成对数据的修改。 但是要注意数据必须有规律。 管道流需要和多线程技术相结合的流对象。 PipedOutputStreamPipedInputStream   用操作基本数据类型值的对象。 DataInputStream DataOutputStream   设备是内存的流对象。ByteArrayInputStream ByteArrayOutputStreamCharArrayReader CharArrayWriter-------------------- IO流体系 字符流Reader |--BufferedReader: |--LineNumberReader |--CharArrayReader |--StringReader |--InputStreamReaer |--FileReader Writer |--BufferedWriter |--CharArrayWriter |--StringWriter |--OutputStreamWriter |--FileWriter |--PrintWriter   字节流InputStream |--FileInputStream: |--FilterInputStream |--BufferedInputStream |--DataInputStream |--ByteArrayInputStream |--ObjectInputStream |--SequenceInputStream |--PipedInputStream OutputStream |--FileOutputStream |--FilterOutputStream |--BufferedOutputStream |--DataOutputStream |--ByteArrayOutputStream |--ObjectOutputStream |--PipedOutputStream |--PrintStream RandomAccessFile:  转载于:https://www.cnblogs.com/xiyangyang2hao/p/5931463.html
http://www.zqtcl.cn/news/711228/

相关文章:

  • asp网站会员注册不了但是打不开网页
  • wordpress 中文网店杭州排名优化公司
  • wordpress建站安全吗wordpress企业主题教程
  • 网站构建的开发费用信息管理系统网站开发教程
  • 自己做网站怎么维护wordpress素材模板
  • 如何选择一个好的优质网站建设公司wordpress 主题小工具
  • mysql数据库做网站广州网站seo地址
  • 福建省住房和城乡建设厅网站电话网站开发项目步骤
  • 网站注册域名多少钱淘宝网商城
  • 做架构图的网站网站和网店的区别
  • 做红包网站简单个人网站设计
  • 新手学做网站pdf手wordpress修改搜索框
  • 做湲兔费网站视颍如何通过查询网站注册时间
  • 重庆cms建站模板南通网站建设推广优化
  • 合肥网站建设的公司新闻类网站如何做量化统计
  • 好用的在线地图网站十六局集团门户网
  • 网站开发数据库连接失败广州网站建站平台
  • 鄂尔多斯北京网站建设加盟网站建设的内容
  • 网站 被 抄袭不属于营销型网站的特点
  • 浙江英文网站建设互联网公司排名2021完整版
  • 完美代码的网站python开发工具
  • 餐饮网站开发参考文献网站建设500错误代码
  • 网站开发关键技术网站自动推广软件免费
  • 前端学习网站南阳东莞网站建设公司哪家好
  • 关于做网站的了解点wordpress小程序插曲
  • PHP网站开发与管理设计心得个人可以做聊天网站备案吗
  • 开公司可以在哪些网站做推广上海画册设计
  • 成都高新区规划建设局网站网络营销方式有哪些?举例说明
  • 国家企业信用公信系统入口seo服务
  • 个人网站网页模板室内装修设计自学软件