文档章节

字节流和字符流的读写

Element0506
 Element0506
发布于 2015/02/04 18:14
字数 550
阅读 956
收藏 12
        // FileOutputStream 文件字节流输出
	public void FileOutputStreamTest1() throws IOException {
		// 1.使用File找到一个文件
		File file = new File("f:" + File.separator + "cnn.txt");
		// 2.通过子类实例化父类对象
		OutputStream out = null;
		out = new FileOutputStream(file); //
		// 3.进行读写
		String str = "Hello World!";
		byte[] bt = str.getBytes();// 只能輸出字节数组
		out.write(bt);
		// 关闭输出流
		out.close();
	}

	// FileOutputStream 文件字节流输出
	public void FileOutputStreamTest2() throws IOException {
		// 1.使用File找到一个文件
		File file = new File("f:" + File.separator + "cnn.txt");
		// 2.通过子类实例化父类对象
		OutputStream out = null;
		out = new FileOutputStream(file);
		// 3.进行读写
		String str = "Hello World!";
		byte[] bt = str.getBytes();// 只能輸出字节数组
		for (int i = 0; i < bt.length; i++) {
			out.write(bt[i]);
		}
		// 关闭输出流
		out.close();
	}

	//FileInputStream  文件字节输入流
	public void FileInputStreamDemo1() throws IOException {
		// 1使用File类找到文件
		File f = new File("f:" + File.separator + "cnn.txt");
		// 2.通过子类实例化父类对象
		InputStream in = null;// 准备好一个输入的对象
		in = new FileInputStream(f);
		// 3.进行读写
		byte[] bt = new byte[1024];
		int len = 0;
		int temp = 0;
		while ((temp = in.read()) != -1) {
			bt[len] = (byte) temp;
			len++;
		}
		// 4.关闭输入流
		in.close();
	}

	// 字节流转化为字符流
	public void OutputStreamWriterDemo1() throws IOException {
		File f = new File("f:" + File.separator + "cnn.txt");
		Writer out = null;
		out = new OutputStreamWriter(new FileOutputStream(f));
		out.write("Hello World");
		out.close();
	}

	public void InputStreamReaderDemo1() throws IOException {
		File f = new File("f:" + File.separator + "cnn.txt");
		Reader in = null;
		in = new InputStreamReader(new FileInputStream(f));
		char[] c = new char[1024];
		int len = in.read(c);// 读取
		in.close(); // 关闭
	}

	// 内存流读写
	public void ByteArraryDemo() throws IOException {
		String str = "HELLOWORLD!";

		ByteArrayInputStream bis = null;// 內存輸入流
		ByteArrayOutputStream bos = null;// 內存輸出流

		bis = new ByteArrayInputStream(str.getBytes()); // 向内存中输入内容
		bos = new ByteArrayOutputStream(); // 准备从ByteArrayInputStream读取内容

		int temp = 0;
		while ((temp = bis.read()) != -1) {
			char c = (char) temp; // 读取数字变成字符
			bos.write(Character.toLowerCase(c)); // 轉換小寫
		}

		bis.close();
		bos.close();

		String newStr = bos.toString();
		System.out.println(newStr);
	}

	// BufferedReader 从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取
	public void BufferedReaderDemo() throws IOException {
		BufferedReader bf = null; // 声明BufferedReader对象
		// 1.System.in 字節輸入流
		// 2.new InputStreamReader(System.in) 将字节输入流,转换为字符输入流
		// 3.new BufferedReader(new InputStreamReader(System.in)) 将字符流缓冲到缓冲区
		bf = new BufferedReader(new InputStreamReader(System.in));
		String str = null;
		System.out.println("请输入内容:");
		str = bf.readLine();
		System.out.println("輸入的內容是:" + str);
	}
  1. FileOutputStream : out(byte[])和out(int)方法。

© 著作权归作者所有

共有 人打赏支持
Element0506
粉丝 11
博文 64
码字总数 18174
作品 0
南京
高级程序员
IO-读写文件

一、用字节流读写文件 1、写文件 //字节流向文件中写东西public static void main(String[] args) throws IOException{String name="D:"+File.separator+"sun.txt";File f=new File(name);O......

qq_26545305
2017/10/04
0
0
java InputStream 文件读写 网络UDP/TCP

java io流 传输操作 字节流和字符流的区别: 读写单位不同:字节流以字节(8bit)为单位,字符流以字符为单位,字符流就是 : 字节流+编码表。 处理对象不同:字节流能处理所有类型的数据(如...

cicue
2014/09/15
0
0
java IO流

IO(Input Output)流 IO流用来处理设备之间的数据传输,对数据的操作是通过流的方式,Java用于操作流的对象都在IO包中。 完整IO流结构图如下: IO流分类 1. 处理的数据单位不同: (1)字符流 ...

iborder
2016/09/05
38
0
java.io几种读写文件的方式

一、Java把这些不同来源和目标的数据都统一抽象为数据流。   Java语言的输入输出功能是十分强大而灵活的。   在Java类库中,IO部分的内容是很庞大的,因为它涉及的领域很广泛:标准输入输...

知止内明
08/06
0
0
java文件输入输出

在java程序中,对于数据的输入/输出操作以流(Stream)方式进行;J2SDK提供了各种各样的“流”类,用以获取不同种类的数据;程序中通过标准的方法输入或输出数据,I/O流提供一条通道程序,可以使...

开源中国段子手
2015/11/23
120
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Spring Cloud Gateway真的有那么差吗?

前言 Spring Cloud从一开始最受大家质疑的就是网关性能,那是由于Spring Cloud最初选择了使用Netflix几年前开源的Zuul作为基础,而高性能版的Zuul 2在经过了多次跳票之后,对于Spring这样的整...

Java小铺
38分钟前
1
0
SpringBoot远程调试,远程debug你的线上项目

开发环境中代码出错了,可以利用IDE的debug功能来进行调试。那线上环境出错呢? 一、假设我们的项目是部署在tomcat中,那我们就需要对tomcat进行一定对配置,配置如下。 1. windows系统中,找...

nonnetta
43分钟前
0
0
JAVA秒杀优化方向

秒杀优化方向 将请求尽量拦截在系统上游:传统秒杀系统之所以挂,请求都压倒了后端数据层,数据读写锁冲突严重,几乎所有请求都超时,流量虽大,下单成功的有效流量甚小,我们可以通过限流、...

小贱是个程序员
50分钟前
0
0
C# 统计字符串中大写字母和小写字母的个数

static void Main() { int count1 = 0; int count2 = 0; Console.WriteLine("请输入字符串"); string str = Convert.ToString(Consol......

熊二的爸爸是谁
53分钟前
0
0
分布式服务框架之远程通讯技术及原理分析

在分布式服务框架中,一个最基础的问题就是远程服务是怎么通讯的,在Java领域中有很多可实现远程通讯的技术,例如:RMI、MINA、ESB、Burlap、Hessian、SOAP、EJB和JMS等,这些名词之间到底是...

老道士
58分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部