您的位置:首页 > 科技 > IT业 > 网上商城简介怎么写_兰州市住房和城乡建设局官网_百度灰色关键词代做_国内新闻最新消息10条

网上商城简介怎么写_兰州市住房和城乡建设局官网_百度灰色关键词代做_国内新闻最新消息10条

2024/12/23 15:39:50 来源:https://blog.csdn.net/weixin_42369079/article/details/143187705  浏览:    关键词:网上商城简介怎么写_兰州市住房和城乡建设局官网_百度灰色关键词代做_国内新闻最新消息10条
网上商城简介怎么写_兰州市住房和城乡建设局官网_百度灰色关键词代做_国内新闻最新消息10条

Java 输入/输出流(Input/Output,简称I/O)是Java语言用于读写数据的API,它提供了一系列类和接口,用于读取和写入各种类型的数据信息。

  • I/O流按数据单元(粒度大小)可分为字节流(以字节为处理单元)和字符流(以字符为处理单元)。
    在这里插入图片描述

  • I/O流按数据流向分可分为输入流(只能从中读取数据,不能向其写入数据)和输出流(只能向其写入数据,不能从中读取数据)。输入流使用InpurtStream和Reader作为基类;输出流使用OutputStream和Writer作为基类。

在这里插入图片描述

转换流

在字节流和字符流之间可用转换流进行转换。
字节流更通用,但当处理文本数据时字节流比较繁琐;使用字符流操作文本数据则更便捷一些。因此,由于使用场景不同有时候就需要转换流来进行转换。

Java中类库中有两个转换流:输入转换流InputStreamReader和输出转换流OutputStreamWriter。

java.io.InputStreamReader  //输入转换流
java.io.OutputStreamWriter  //输出转换流

它们都是把字节流转换为字符流,当需要处理文本信息的场景可简化操作流程。

这两个转换流各有四个构造器,下面列出的是InputStreamReader的,OutputStreamWriter也类似。

public InputStreamReader(InputStream in) {}public InputStreamReader(InputStream in, String charsetName) throws UnsupportedEncodingException {}public InputStreamReader(InputStream in, Charset cs) {}public InputStreamReader(InputStream in, CharsetDecoder dec) {}

下面我们来看一个转换流的演示例程,例程中方法writerFile(String path)的源码:

	/***把文本信息保存到文件***/public static void writerFile(String path) {try(FileOutputStream out = new FileOutputStream(path);Writer wOut = new OutputStreamWriter(out,Charset.defaultCharset())) {for (String string : poem) {wOut.write(string); //写到文件}} catch (IOException e) {e.printStackTrace();}}

其中,这行代码进行转换流处理(这里可省略分号;):

Writer wOut = new OutputStreamWriter(out,Charset.defaultCharset())

下面是完整的源程序。先把信息写入文件中,再通过方法read(String path)把文件信息读入,然后再打印到屏幕上。

package IOStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.Reader;
import java.io.Writer;
import java.nio.charset.Charset;
public class ChangeIOStream {static String poem[] = { "《凉州词》王翰","葡萄美酒夜光杯,","欲饮琵琶马上催。","醉卧沙场君莫笑,","古来征战几人回。"};/***把文本信息保存到文件***/public static void writerFile(String path) {try(FileOutputStream out = new FileOutputStream(path);Writer wOut = new OutputStreamWriter(out,Charset.defaultCharset())) {for (String string : poem) {wOut.write(string); //写到文件}} catch (IOException e) {e.printStackTrace();}}public static void read(String path) {char[] cs = new char[1024];int len = -1;try(FileInputStream in = new FileInputStream(path);Reader reader = new InputStreamReader(in,Charset.defaultCharset())) {while((len=reader.read(cs))!=-1) {System.out.println(new String(cs,0,len));}} catch (IOException e) {e.printStackTrace();}}public static void main(String[] args) {String path = "D:/temp/ChangeTest.txt";ChangeIOStream.writerFile(path);ChangeIOStream.read(path);}
}

例程测试结果图:
在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com