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

秦皇岛哪家做网站好手机网站建设全包

秦皇岛哪家做网站好,手机网站建设全包,深圳外贸建设网站,网站ip地址 转向域名​ 一、概述 我们已经系统学习了File 类#xff0c;并且已经知道 File 类的实例用于表示文件或目录的路径 名。 虽然我们可以通过 File 实例来访问文件或目录的元数据#xff0c;甚至可以创建、删除文件或目 录#xff0c;但是#xff0c;我们却不能通过File实例来访问文…​ 一、概述 我们已经系统学习了File 类并且已经知道 File 类的实例用于表示文件或目录的路径 名。 虽然我们可以通过 File 实例来访问文件或目录的元数据甚至可以创建、删除文件或目 录但是我们却不能通过File实例来访问文件中存储的内容本节主要研究通过流来 读写数据。 为了能够 读取文件中的内容 或者 向文件中写入内容 就需要用到文件输入流或文件输 出流本节将系统讲解通过流完成对文件内容的读取和写入操作。 但千万不要认为我们只能从文件中读取数据或向文件中写入数据还有在之前我们从控制 台获取或打印到控制台以及在网络编程部分我们将会学习如何通过 Java 程序从网络 上读取数据和向网络发送数据。 1.流 在 Java 语言中将够 读取数据 或者 写出数据 的对象抽象为 流。 流 类似于生活当中的 水管 水 可以在 水管 中 定向移动 正如 数据 可以在 流 中定向移 动。 我们把这种数据的传输可以看做是一种数据的流动按照流动的方向以内存为基准 分为 输入input和 输出 output 即流向内存是输入流流出内存是输出流。 Java中I/O操作主要是指使用java.io包下的内容进行输入、输出操作。输入也叫做读 取数据输出也叫做作写出数据。 在 Java 传统的IO体系中所有的 流 对应的类型都扩展自四个抽象类: 其中的 InputStream 和 OutputStream 的子类表示字节流 Reader 和Writer的子类则 表示字符流。 这里所提及的Stream一词均表示流请不要与 java.util.stream.Stream 接口混为 一谈。 2.分类 Java中传统的I/O体系可以按照不同的方式对流进行分类: 按照流中数据的流向来分类可以分为 输入流 和 输出流 - 用于实现从外部读取数据到当前程序的流被称作输入流 - 用于实现从当前程序中向外部输出数据的流被称作输出流按照流处理的数据单元来分类可以划分为 字节流 和 字符流 - 如果某个流在读取或写入数据时以字节为单位则该流属于字节流 - 如果某个流在读取或写入数据时以字符为单位则该流属于字符流 - 这里纠正一下个错误通过字符流读写字符数据时一个字符未必就占两个字节 - 一个字符有可能是1个字节也可能是2个、3个、4个字节这取决于字符编码按照流的功能来分类可以分为 节点流 和 包装流 - 直接数据节点中读取数据或向数据节点中写入数据的流被称作节点流 - 数据节点可以是磁盘上的文件或其它数据源(比如键盘输入) - 节点流都比较原始仅用于实现数据的读取和写入通常不具备其它功能 - 用于从其它流中读取数据并实现其它流所不具备的功能的流被称作包装流 - 包装流也被称作 转换流 或 处理流 或 过滤流 - 包装流通常会提供它内部所包装的流不具备的功能 - 包装流内部所处理的流(也称作所过滤的流)被称作底层支持流 节点流 和 包装流 的关系如下图所示: 3.一切皆字节 一切文件数据(文本、图片、视频等)在存储时都是以二进制数字的形式保存都是一个一 个的字节那么传输时一样如此。所以字节流可以传输任意文件数据。在操作流的时 候我们要时刻明确无论使用什么样的流对象底层传输的始终为二进制数据。 二、字节流 字节流 是以 字节 为单位读写数据的输入流或输出流。下图是Java语言中提供的 字节流 的继承体系: 由图可以看到 字节流 体系中涉及的类太多我们仅选择具有代表性的几个予以讲解 并不是全部讲解。 1.Closeable ​java.io.Closeable 接口实现此接口的都是可以关闭的数据的源或目的地。都会实现 c lose() 方法。如: Scanner , InputStream , OutputStream public interface Closeable extends AutoCloseable该类继承了 java.lang.AutoCloseable AutoCloseable 接口提供了自动关闭的能力。 2.字节输入流 2.1 InputStream InputStream 类是所有表示字节输入流的类的父类它是个抽象类因此不能直接被实例 化。 public abstract class InputStream implements CloseableInputStream 类是所有字节输入流的最顶层父类掌握该类的使用即可从根本上把握其它 字节输入流的使用。 2.1.1 构造方法 InputStream 类仅有一个无参构造供子类调用: public InputStream()2.1.2 实例方法 JDK9 提供的方法 transferTo(OutputStream out) 用于将输入流使用指定的输出流输出出去 public long transferTo(OutputStream out) throws IOException { Objects.requireNonNull(out, out); long transferred 0; byte[] buffer new byte[DEFAULT_BUFFER_SIZE]; int read; while ((read this.read(buffer, 0, DEFAULT_BUFFER_SIZE)) 0) { out.write(buffer, 0, read); transferred read; } return transferred; }复制文件 package file;import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException;public class Demo07_0912 {public static void main(String[] args) {/*** 将 F:\temp\test.mp4可 复制到 D:\kaifamiao\software\text\test.mp4* 使用transferTo(),将输入流的内容直接写入输出流*/try {FileInputStream fis new FileInputStream(F:\\test.mp4);FileOutputStream fos new FileOutputStream(D:\\kaifamiao\\software\\text\\test.mp4);//第一种方法 // byte[] bytes new byte[8019]; // int size; // while ((sizefis.read(bytes))!-1){ // fos.write(bytes,0,size); // }// //第二种方法 // byte[] bytes fis.readAllBytes(); // fos.write(bytes);//第三种方法fis.transferTo(fos);fis.close();fos.close();} catch (FileNotFoundException e) {throw new RuntimeException(e);} catch (IOException e) {throw new RuntimeException(e);}} } readAllBytes()读取所有的字节最大为 Integer.MAX_VALUE 个字节 public byte[] readAllBytes() throws IOException { return readNBytes(Integer.MAX_VALUE); }在所有方法中仅 read() 方法是抽象方法因此 InputStream 类的所有的子类都需要 实现该方法。 因为 InputStream 类是个抽象类因此必须借助于其 非抽象子类 来完成实例化。 主要学习 FileInputStream 和 BufferedInputStream 2.2FileInputStream FileInputStream 用于从文件系统中的某个文件中读取内容(以字节为单位)。 FileInputStream 用于读取诸如图像数据之类的原始字节流。 如需读取字符流可以考虑使用 InputStreamReader 或 FileReader 。 public class FileInputStream extends InputStream2.2.1 构造方法 FileInputStream 类中定义了三个公开( public )的构造方法: 其中较为常用的是前两个构造方法。 package com.itlaobing.demo.stream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; public class Test { public static void main(String[] args) throws FileNotFoundException { FileInputStream in new FileInputStream(D:\\temp\\zixiafaerie.jpg); File file new File(D:\\temp\\zixiafaerie.jpg); FileInputStream input new FileInputStream(file); } }2.2.2 实例方法 FileInputStream 类重写了 InputStream 类中所有的 public 方法但除了以下方法未被重写外其它方法均已被 FileInputStream 类所重写 public void reset() throws IOException public void mark(int readlimit) throws IOException public boolean markSupported() throws IOException重写的方法包括: public int available() throws IOException public int read() throws IOException public int read(byte[] bytes) throws IOException public int read(byte[] bytes, int offset, int length) throws IOException public long skip(long n) throws IOException public void close() throws IOException这里仅结合 FileInputStream 来讲解 InputStream 类中的核心方法的用法。 首先我们创建在D:/temp目录下创建一个名称为file-input.txt的文件其中内容如 下: abcd1234efg 我和我的祖国 A little cold awn first, then gun out such as dragon.然后我们分别用三种不同的方式读取该文件( D:/temp/file-input.txt )中的数据。 这里需要注意直接在 Windows 系统中创建的 文本文档 其默认编码为 GBK (每个汉字 占用两个字节)。 2.2.3读取单个字节 在InputStream类中定义的抽象方法是所有子类所必须实现的: public abstract int read() throws IOException该方法用于从字节输入流中读取单个字节如果到达流的末尾则返回 -1 。 而另一个方法 skip 则用于跳过指定的字节数: public long skip(long n) throws IOException该方法的参数 n 表示期望跳过的字节数而返回值则表示实际所跳过的字节数。 同时 InputStream 类提供了获取流中剩余字节数的方法: public int available() throws IOException用于获取可以不受阻塞地从此输入流读取或跳过的估计字节数如果到达输入流末 尾则返回 0 。
http://www.pierceye.com/news/289347/

相关文章:

  • 网站备案更换主体ui设计素材
  • 湖南住房和建设厅网站免费的网站建设开发
  • 苏州园区建设网站首页娱乐新闻做的好的网站
  • 江苏省建设集团有限公司网站做网站的软件dw下载
  • 做网站需要学些什么软件杭州学校网站建设
  • 建设银行网上银行网站可以开通网银wordpress 种子插件
  • 一般网站图标是用什么做的网件路由器无线中继
  • 手机 网站 开发淘宝店铺网站策划书
  • 网站建设规划方案书滨州网站建设 中企动力
  • 网站建设品牌推荐做网站必须要公网ip
  • 做网站卖东西赚钱wordpress微信网站
  • 商丘网站建设有限公司店面设计费用
  • 张店学校网站建设公司合肥有哪些seo网络公司
  • 做博客网站的空间容量需要多少北京简盟产品设计有限公司
  • 哪些网站怎么进定制开发平台
  • 【郑州网站建设】wordpress自定义后台单页模板
  • 铭誉摄影网站北京网站建设开发
  • 单位还能建设网站吗做网站的程序员留备份
  • 松江团购做网站产品开发的基本流程
  • 织梦后台网站栏目空白小广告制作
  • 钦州建设局网站云南网站建设招商
  • 韩国风格网站php源码网站怎么放到服务器上
  • 网站调优yandex搜索引擎入口
  • 医院网站建设具体内容商丘网站制作电话
  • 别人做的网站直播网站
  • 足球梦网站建设的基本思路沧州做企业网站
  • 招标建设网站什么是微信wordpress
  • 建设银行网站连不上成都网站快照优化公司
  • 网站 永久关停 请示广州网站建设骏域网站
  • 个人建站模板外国网站翻墙怎么做