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

php网站搭建专业的网站设计公司

php网站搭建,专业的网站设计公司,上海做展会的网站都有哪些,传媒的域名做个什么网站【README】 1.本文总结java IO读取或写入数据的方式和相关类说明#xff1b; 2.java IO建立在流之上的。输入流读取数据#xff0c;输出流写入数据#xff1b; 3.过滤器流-filter stream#xff0c;可以串连#xff08;修饰#xff09;到输入流和输出流上#xff1b;…【README】 1.本文总结java IO读取或写入数据的方式和相关类说明 2.java IO建立在流之上的。输入流读取数据输出流写入数据 3.过滤器流-filter stream可以串连修饰到输入流和输出流上 4.补充 补充1java流操作数据的单位是字节补充2流是同步的。 当程序请求一个流读写一段数据时在做操作前它要等待读写的数据到达或可用补充3javaIO的实现方式还包括通道和缓存区的非阻塞IO 5.阅读器reader或书写器writer可以串链到输入流和输出流上操作数据的单位是字符 【1.1】java流 【1.1】java输入输出流基类操作字节 java基本输出流类是  OutputStream写入字节 java基本输入流类是 InputStream 读取字节 【1.2】过滤器流操作字节对字节加工或把字节转为字符 1.过滤器基类是 FilterInputStream FilterOutputStream分别继承 InputStream OuputStream 2.过滤器分为2种 过滤器流过滤器流主要将原始数据作为字节处理如压缩数据或解释为二进制数字阅读器和书写器把不同编码格式的字节转为字符文本进行处理 3.输入过滤器流 FilterInputStream 子类列表 public class FilterInputStream extends InputStream { DataInputStream二进制读写数据GZIPInputStream压缩HttpInputStream支持http连接TelnetInputStream只是telnet连接模拟客户端登录服务器协议ZipInputStream 压缩 4.输出过滤器流 FilterOuputStream 子类   public class FilterOutputStream extends OutputStream { DataOutputStreamGZIPOutputStreamHttpSendOutputStreamTelnetOutputStreamZipOutputStream 5.多个过滤器流如何串链在一起处理字节流 【1.2.1】多个过滤器链在一起 1.把 FileInputStream 和 BufferedInputStream 串链在一起  Testpublic void t1() throws Exception {FileInputStream fis new FileInputStream(D:\\temp\\hello5.txt);BufferedInputStream bis new BufferedInputStream(fis);} 【1.3】缓冲流操作字节缓冲 1.分为输入缓冲流 BufferedInputStream 输出缓冲流 BufferedOutputStream 2.缓冲流的作用 2.1 对于输入缓冲流而言 一次性不是读取一个字节而是读取多个字节如1k个字节减少磁盘io提高读取性能2.2 对于输出缓冲流而言一次性不是写入一个字节而是写入多个字节如1k特别对于网络连接一次发送一个字节每次报文头开销40字节即每发送1个字节就会附加40个字节报文头性能非常低下若一次写入多个字节则报文头开销占比会小很多传输效率大大增加【1.4】PringStream操作字节丢弃 PrintStream 是有害的应该避开它 问题1因为 println() 的输出与平台有关问题2PrintStream假定使用所在平台的默认编码方式问题3printStream 吞掉所有异常【1.5】数据流操作字节二进制格式 1.数据流基本类 DataInputStream DataOutputStream 可以用二进制格式读写java基本数据类型和字符串 try(DataOutputStream dataOutputStream new DataOutputStream(new BufferedOutputStream(new FileOutputStream(D:\\temp\\hello2.txt)))) {dataOutputStream.write(hellworld2.这里是中国.getBytes(StandardCharsets.UTF_8));} 【2】阅读器和书写器操作字符 1.阅读器和书写器 操作数据的单位是字符而不是字节 2.基类分别为 Reader Writer 3.它们最重要的子类是 InputStreamReader 和 OutputStreamWriter类依赖底层输入输出流分别把字节转为字符进行读取把字符转为字节进行写入 可以在创建实例时指定字符编码方式不用每次处理的时候都去指定编码方式 4.其他原始阅读器和书写器不依赖底层输入输出流 FileReaderFileWriterStringReaderStringWriterCharArrayReaderCharArrayWriter // 书写器 try (OutputStreamWriter outputStreamWriter new OutputStreamWriter(new BufferedOutputStream(new FileOutputStream(D:\\temp\\hello4.txt)), StandardCharsets.UTF_8)) {outputStreamWriter.write(helloworld4.这里是中国); }// 阅读器 try (InputStreamReader inputStreamReader new InputStreamReader(new FileInputStream(D:\\temp\\hello4.txt), StandardCharsets.UTF_8)) {StringBuilder stringBuilder new StringBuilder();int c 0;while((c inputStreamReader.read()) ! -1) {stringBuilder.append((char)c);}System.out.println();System.out.println(stringBuilder.toString()); } 【2.1】过滤器阅读器和书写器 1过滤器阅读器和书写器列表 BufferedReader缓冲读取器BuffererWriter 缓冲写入器LineNumberReaderPushbackReaderPrintWriter用于替换PrintStream但也存在小问题 2BufferedReader 有1个readLine()可以读取一行字符并作为字符串返回  try(BufferedReader bufferedReader new BufferedReader(new InputStreamReader(new FileInputStream(D:\\temp\\hello4.txt), StandardCharsets.UTF_8))) {String result bufferedReader.readLine();System.out.println(result); } 【3】流关闭方式 1. 方式1 通过 try-finally 块关闭 把关闭流代码放在 finally 里面 2.方式2java7引入了 带资源的try构造方式可以更简洁地完成流关闭如下 try(DataOutputStream dataOutputStream new DataOutputStream(new BufferedOutputStream(new FileOutputStream(D:\\temp\\hello2.txt)))) {dataOutputStream.write(hellworld2.这里是中国.getBytes(StandardCharsets.UTF_8));} 【3.1】如何优雅关闭流 1. 之所以使用带资源的try的构造方式新建的流可以自动关闭其原因在于 流实现了 AutoCloseable 接口 如下以 DataOutputStream 为例 public class DataOutputStream extends FilterOutputStream implements DataOutput { ...public class FilterOutputStream extends OutputStream { ...public abstract class OutputStream implements Closeable, Flushable { ...public interface Closeable extends AutoCloseable { ...public interface AutoCloseable {void close() throws Exception; } 2. close方法如下实现的 参见 FilterOutputStream.close() 方法 ;  所以它在关闭流的时候会先刷新缓冲到底层流 public void close() throws IOException {try (OutputStream ostream out) { // 这里其实也是一个 try资源块 flush();}}public void flush() throws IOException {out.flush();} 3.我们再看下 AutoCloseable 的类说明如下 一个可能持有资源例如文件或套接字句柄直到关闭的对象。 AutoCloseable 对象的 close() 方法在退出 try-with-resources 块时自动调用该块已在资源规范标头中声明了该对象。 这种构造确保及时释放避免资源耗尽异常和否则可能发生的错误。 API注意事项 即使不是所有的子类或实例都拥有可释放的资源基类也有可能实现 AutoCloseable而且实际上很常见。 对于必须完全通用的代码或者当知道 AutoCloseable 实例需要资源释放时建议使用 try-with-resources 构造。 但是当使用 java.util.stream.Stream 等支持基于 I/O 和非基于 I/O 的形式时使用非 I/O 时通常不需要 try-with-resources 块 - 基于形式。 【4】java IO流小结 【4.1】输入输出字节流类结构 【4.1.1】常用输入字节流类结构-InputStream 【4.1.2】常用输出字节流类结构-OutputStream 【4.2】输入输出字符流类结构 【4.2.1】常用输入字符流类结构-Reader 【4.2.2】常用输出字符流类结构-Writer
http://www.pierceye.com/news/431713/

相关文章:

  • 吕梁网站设计服务器网站建设维护合同
  • 网站轮播图片怎么做高校网站建设模板
  • 易语言做返利网站企业培训考试平台官网
  • 天津做不锈钢的网站做网站要几个部门组成
  • 宿迁集团网站建设用dw制作一个网站
  • 网站创建二级域名网络营销到底是个啥
  • 银州手机网站建设做网站前台模型要做什么呢
  • 做彩票网站推广网站建设培训方案
  • o2o网站建设多少钱昆山专业网站建设
  • c语言自学免费网站网站制作职业
  • 免费刷赞网站推广qq免费有哪些网页设计软件
  • 如何设计网站的首页做海鲜代理在什么网站
  • 网站分析的优劣势苏州网络推广企业
  • 威海网站建设公司施工企业成本核算方法
  • 网站群集约化建设cc域名做门户网站
  • 怎么看一个网站做的好不好北京企业网站推广
  • 网站后台访问权限设置静宁网站建设
  • 网站是什么时候开始的怎样做知道网站
  • 安丘做网站的有那个网站
  • 网站建设佰首选金手指六门户网站 解决方案
  • 怎么可以创建网站十大管理培训课程
  • 网络安全管理系统佛山厂家推广优化
  • 网站建设 外包是什么意思微信小程序低代码开发
  • 网站底部信息用js写法莱芜雪野湖有什么好玩的
  • 青岛高品质网站制作优化快速排名教程
  • 地产项目网站长沙建个网站一般需要多少钱
  • 什么样的网站流量容易做社区网站建设
  • 网站的虚拟主机到期延吉建设局网站
  • 深圳seo网站优化公司wordpress页面权限插件
  • 手机制作购物网站农业 网站源码