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

专业 旅游网站建设wordpress使用技巧

专业 旅游网站建设,wordpress使用技巧,旅游网络推广怎么做,网站首页关键词优化Java IO 流操作详解 一、简介1. 什么是IO流2. IO流的分类3. IO流的作用 二、Java IO流的输入操作1. 文件输入流2. 字节输入流3. 缓冲输入流4. 对象输入流 三、Java IO流的输出操作1. 文件输出流2. 字节输出流3. 缓冲输出流4. 对象输出流 四、Java IO流的常用方法解析1. 字节读写… Java IO 流操作详解 一、简介1. 什么是IO流2. IO流的分类3. IO流的作用 二、Java IO流的输入操作1. 文件输入流2. 字节输入流3. 缓冲输入流4. 对象输入流 三、Java IO流的输出操作1. 文件输出流2. 字节输出流3. 缓冲输出流4. 对象输出流 四、Java IO流的常用方法解析1. 字节读写操作1.1 FileInputStream和FileOutputStream1.2 DataInputStream和DataOutputStream 2. 按字符读写操作2.1 FileReader和FileWriter2.2 BufferedReader和BufferedWriter 3. 随机读写文件操作3.1 RandomAccessFile 4. 大文件读写操作4.1 使用MappedByteBuffer 五、Java NIO模块1. NIO概述2. NIO与IO的对比3. NIO模块的核心组件3.1 Buffer3.2 Channel3.3 Selector 4. NIO模块的使用方式4.1 读取文件数据4.2 写入文件数据 一、简介 Java IO流提供了一种可以对数据进行输入输出的机制。可以把它比作是一条河流从源头流向目标地由源文件输入到程序再由程序输出到目标文件。 1. 什么是IO流 IO即Input/Output顾名思义就是数据的输入输出在Java中指的是java.io包中的类库提供了一系列操作数据输入与输出的类和接口。 2. IO流的分类 Java IO流按照其功能可以分为4种类型 字节流Byte Streams从字节流中读入或输出8位字节数据。InputStream 和 OutputStream 都是针对字节的流。字符流Character Streams从字符流中读入或输出16位Unicode字符。Reader 和 Writer 都是针对字符的流。节点流Node StreamsAdvanced 系列流如 FileInputStream、FileOutputStream。处理流Filter StreamsDecorator 系列流如 BufferedInputStream、BufferedOutputStream、ObjectInputStream、ObjectOutputStream。 3. IO流的作用 在Java中IO流的主要作用是将数据从一个地方传输到另一个地方。我们可以使用Java的IO流来实现从文件、控制台甚至是网络传输数据等功能。对于不同的需求可以灵活选择不同的IO流类型。 二、Java IO流的输入操作 Java IO流提供了多种输入操作的类和接口下面将分别介绍其中的四种。 1. 文件输入流 用于从文件中读取数据可以使用 java.io.FileInputStream 类来实现。 try {FileInputStream fis new FileInputStream(file.txt); // 指定文件路径int c;while ((c fis.read()) ! -1) { // 从文件中读取数据System.out.print((char)c); // 输出数据到控制台}fis.close(); // 关闭文件流 } catch (IOException e) {e.printStackTrace(); }2. 字节输入流 用于从数据源中读取字节数据可以使用 java.io.InputStream 类来实现。 try {InputStream is new FileInputStream(file.txt); // 指定数据源int c;while ((c is.read()) ! -1) { // 从数据源读取数据System.out.print((char)c); // 输出数据到控制台}is.close(); // 关闭数据流 } catch (IOException e) {e.printStackTrace(); }3. 缓冲输入流 提供了对 IO 字节输入流的缓存机制可以使用 java.io.BufferedInputStream 类来实现 try {InputStream is new FileInputStream(file.txt); // 指定数据源BufferedInputStream bis new BufferedInputStream(is); // 使用缓冲输入流读取数据int c;while ((c bis.read()) ! -1) { // 从缓冲输入流中读取数据System.out.print((char)c); // 输出数据到控制台}is.close(); // 关闭数据流 } catch (IOException e) {e.printStackTrace(); }4. 对象输入流 用于读取对象的相关信息可以使用 java.io.ObjectInputStream 类来实现 try {InputStream is new FileInputStream(file.txt); // 指定数据源ObjectInputStream ois new ObjectInputStream(is); // 使用对象输入流读取对象相关信息Object obj ois.readObject(); // 从对象输入流中读取对象相关信息并实例化为一个对象System.out.println(obj); // 输出读取到的对象is.close(); // 关闭数据流 } catch (IOException | ClassNotFoundException e) {e.printStackTrace(); }三、Java IO流的输出操作 Java IO流提供了多种输出操作的类和接口下面将分别介绍其中的四种。 1. 文件输出流 用于向文件中写入数据可以使用 java.io.FileOutputStream 类来实现 try {FileOutputStream fos new FileOutputStream(file.txt); // 指定输出文件路径String s Hello, World!; // 要写入文件的内容byte[] bytes s.getBytes(); // 将要写入的字符串转化为字节数组fos.write(bytes); // 向文件中写入字节数据fos.close(); // 关闭文件流 } catch (IOException e) {e.printStackTrace(); }2. 字节输出流 用于向数据源中输出字节数据可以使用 java.io.OutputStream 类来实现 try {OutputStream os new FileOutputStream(file.txt); // 指定数据源String s Hello, World!; // 要写入数据源的内容byte[] bytes s.getBytes(); // 将要写入的字符串转化为字节数组os.write(bytes); // 向数据源中写入字节数据os.close(); // 关闭数据流 } catch (IOException e) {e.printStackTrace(); }3. 缓冲输出流 提供了对 IO 字节输出流的缓存机制可以使用 java.io.BufferedOutputStream 类来实现 try {OutputStream os new FileOutputStream(file.txt); // 指定数据源BufferedOutputStream bos new BufferedOutputStream(os); // 使用缓冲输出流写入数据源String s Hello, World!; // 要写入数据源的内容byte[] bytes s.getBytes(); // 将要写入的字符串转化为字节数组bos.write(bytes); // 向缓冲输出流中写入字节数据bos.flush(); // 刷新流数据到文件清空缓存os.close(); // 关闭数据流 } catch (IOException e) {e.printStackTrace(); }4. 对象输出流 用于将对象信息写入输出源可以使用 java.io.ObjectOutputStream 类来实现 try {OutputStream os new FileOutputStream(file.txt); // 指定数据源ObjectOutputStream oos new ObjectOutputStream(os); // 创建对象输出流Object obj new Object(); // 要写入数据源的对象oos.writeObject(obj); // 将对象信息写入输出源oos.flush(); // 刷新流数据到文件清空缓存os.close(); // 关闭数据流 } catch (IOException e) {e.printStackTrace(); }四、Java IO流的常用方法解析 1. 字节读写操作 1.1 FileInputStream和FileOutputStream import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException;public class ByteStreamExample {public static void main(String[] args) {File inputFile new File(input.txt);File outputFile new File(output.txt);try (FileInputStream inputStream new FileInputStream(inputFile);FileOutputStream outputStream new FileOutputStream(outputFile)) {byte[] buffer new byte[1024];int length;while ((length inputStream.read(buffer)) ! -1) {outputStream.write(buffer, 0, length);}} catch (IOException e) {e.printStackTrace();}} }以上代码实现了从input.txt文件读取数据并写入到output.txt文件中。 1.2 DataInputStream和DataOutputStream import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException;public class DataStreamExample {public static void main(String[] args) {File inputFile new File(input.txt);File outputFile new File(output.txt);try (DataInputStream inputStream new DataInputStream(new FileInputStream(inputFile));DataOutputStream outputStream new DataOutputStream(new FileOutputStream(outputFile))) {int intValue inputStream.readInt();outputStream.writeInt(intValue);boolean boolValue inputStream.readBoolean();outputStream.writeBoolean(boolValue);String strValue inputStream.readUTF();outputStream.writeUTF(strValue);} catch (IOException e) {e.printStackTrace();}} }以上代码实现了从input.txt文件中读取整型、布尔型和字符串类型数据然后将这些数据写入到output.txt文件中。 2. 按字符读写操作 2.1 FileReader和FileWriter import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException;public class CharStreamExample {public static void main(String[] args) {File inputFile new File(input.txt);File outputFile new File(output.txt);try (FileReader reader new FileReader(inputFile);FileWriter writer new FileWriter(outputFile)) {char[] buffer new char[1024];int length;while ((length reader.read(buffer)) ! -1) {writer.write(buffer, 0, length);}} catch (IOException e) {e.printStackTrace();}} }以上代码实现了从input.txt文件读取数据并写入到output.txt文件中。 2.2 BufferedReader和BufferedWriter import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException;public class BufferCharStreamExample {public static void main(String[] args) {try (BufferedReader reader new BufferedReader(new FileReader(input.txt));BufferedWriter writer new BufferedWriter(new FileWriter(output.txt))) {String line;while ((line reader.readLine()) ! null) {writer.write(line);writer.newLine();}} catch (IOException e) {e.printStackTrace();}} }以上代码实现了从input.txt文件读取数据并写入到output.txt文件中同时以行的形式进行读写。 3. 随机读写文件操作 3.1 RandomAccessFile import java.io.File; import java.io.IOException; import java.io.RandomAccessFile;public class RandomAccessFileExample {public static void main(String[] args) {File file new File(file.txt);try (RandomAccessFile randomAccessFile new RandomAccessFile(file, rw)) {randomAccessFile.writeBytes(Hello World!);randomAccessFile.seek(6);randomAccessFile.writeBytes(Java);} catch (IOException e) {e.printStackTrace();}} }以上代码实现了向file.txt文件中写入Hello World!然后从第6个字节开始替换为Java。 4. 大文件读写操作 4.1 使用MappedByteBuffer import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.nio.ByteBuffer; import java.nio.MappedByteBuffer; import java.nio.channels.FileChannel;public class LargeFileExample {public static void main(String[] args) {File inputFile new File(input.txt);File outputFile new File(output.txt);try (FileInputStream inputStream new FileInputStream(inputFile);FileOutputStream outputStream new FileOutputStream(outputFile)) {FileChannel inputChannel inputStream.getChannel();FileChannel outputChannel outputStream.getChannel();MappedByteBuffer buffer inputChannel.map(FileChannel.MapMode.READ_ONLY, 0, inputChannel.size());outputChannel.write(buffer);} catch (IOException e) {e.printStackTrace();}} }以上代码实现了将input.txt文件中的数据复制到output.txt文件中如果读取的文件太大需要使用MappedByteBuffer来减少内存开销。 五、Java NIO模块 1. NIO概述 Java NIONew IO是JDK1.4引入的新的IO API能够以更高效的方式进行文件、网络读写等各种I/O操作。 2. NIO与IO的对比 IONIO面向流面向缓冲Buffer阻塞IO非阻塞IO无选择器Selector 3. NIO模块的核心组件 3.1 Buffer Buffer是一个对象可以容纳一定数量的数据并提供了一组方法用于访问这些数据。 3.2 Channel Channel是用于进行数据读写的对象它类似于IO流中的“管道”。 3.3 Selector Selector用于监听多个Channel上的事件如读、写等并通过一个线程实现多路复用。 4. NIO模块的使用方式 4.1 读取文件数据 import java.nio.ByteBuffer; import java.nio.channels.FileChannel; import java.nio.file.Path; import java.nio.file.Paths; import java.nio.file.StandardOpenOption; import java.util.EnumSet;public class NioExample {public static void main(String[] args) {Path path Paths.get(file.txt);try (FileChannel channel (FileChannel) Files.newByteChannel(path, EnumSet.of(StandardOpenOption.READ))) {ByteBuffer buffer ByteBuffer.allocate(1024);while (channel.read(buffer) ! -1) {buffer.flip();while (buffer.hasRemaining()) {System.out.print((char) buffer.get());}buffer.clear();}} catch (IOException e) {e.printStackTrace();}} }以上代码实现了从file.txt文件中读取数据并输出到控制台。其中FileChannel的read()方法用于读取文件数据ByteBuffer的flip()方法将缓冲区从写入状态切换到读取状态clear()方法则用于清空缓冲区。 4.2 写入文件数据 import java.nio.ByteBuffer; import java.nio.channels.FileChannel; import java.nio.file.Path; import java.nio.file.Paths; import java.nio.file.StandardOpenOption; import java.util.EnumSet;public class NioExample {public static void main(String[] args) {Path path Paths.get(file.txt);try (FileChannel channel (FileChannel) Files.newByteChannel(path, EnumSet.of(StandardOpenOption.WRITE))) {ByteBuffer buffer ByteBuffer.wrap(Hello World!.getBytes());channel.write(buffer);} catch (IOException e) {e.printStackTrace();}} }以上代码实现了向file.txt文件中写入数据“Hello World!”。其中FileChannel的write()方法用于写入文件数据ByteBuffer的wrap()方法用于把字节数组包装成缓冲区。
http://www.hkea.cn/news/14567599/

相关文章:

  • 提供做网站公司有哪些dedecms本地可以更换网站模板出现网站模板不存在
  • 天猫网站建设的目的网站的优点有哪些
  • 重庆建站网站企业单页淘宝客网站2014年行吗
  • 域名证书查询网站如何开启wordpress mu
  • oa网站开发模板域名服务器地址
  • 网站设计相似侵权吗公共资源交易中心总结
  • 电子商务网站建设与推广做外贸网站用什么软件
  • 二级域名免费网站怎么申请wordpress 写文章页面
  • 做外汇看哪个网站软件产品如何做网站推广
  • 织梦网站建设实验报告vps lnmp wordpress
  • 我想注册一个网站怎么注册创建网站成功案例
  • 网站建设教程吧网站建设方案对比分析报告
  • 网站建设费算不算固定资产陕西省交通建设集团网站
  • 网站建设创业公司策划方案wordpress手机上发文章
  • 如何用ftp上传文件到网站天津铁路建设投资控股(集团)网站
  • 鞍山做网站或怎么做产品网站推广
  • 申请网站怎么申请如何用微信做网站
  • 重庆平台网站建设找哪家上海手机软件开发公司
  • 公司制作个网站wordpress改了常规无法访问
  • 网站如何改版黔东南网站建设
  • 做食物的网站高校网站建设前言
  • 中山网站制兰州口碑营销
  • qq对话制作器appseo新人培训班
  • 福永镇网站建设保健品做哪个网站好
  • 网站logo怎么做动态图南宁网站制作价格
  • thinksns网站开发西安网站快速优化
  • 三台县城乡建设网网站网站运营与管理的含义
  • 怎么样建设一个电影网站秦皇岛吧百度贴吧
  • 网站服务器错误wordpress 插件 语言
  • 一个人做网站要多久wordpress 调整字体