文档章节

字节流和字符流的读写

Element0506
 Element0506
发布于 2015/02/04 18:14
字数 550
阅读 958
收藏 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
博文 66
码字总数 18288
作品 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

没有更多内容

加载失败,请刷新页面

加载更多

自定义Ubuntu/Windows双系统引导菜单主题

学习Linux自然少不了要装双系统,其中Ubuntu便是我们用的最多的Linux系统。装完双系统后,Ubuntu会自动生成grub开机引导及菜单,及其丑陋,而且很多我们用不到的选项。今天我们就介绍burg:修...

Linux就该这么学
3分钟前
0
0
Go 并发(二)

Go Mutex 通过Mutex和信道处理竞态条件。 临界区 当程序并发运行时,多个协程不应该同时访问那些修改共享资源的代码,这些修改共享资源的代码称为临界区。 Go中通过Mutex可以避免同时访问临界...

春哥大魔王的博客
6分钟前
0
0
CentOS 7安装和部署Docker

Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。通过 uname -r 命令查看你当前的内核版本 uname -r3.10.0-514.el7.x86_64 1、...

狼王黄师傅
9分钟前
0
0
php扩展可以通过pecl 或者phpize 安装

pecl 算是 php 扩展的一个官方聚合平台,一些比较有名,有特点的扩展会被 pecl 收录,收录后可以通过 pecl 的方式安装。但是更多的扩展是没有收录在 pecl 上的,这些扩展还是需要通过 phpize...

bengozhong
10分钟前
0
0
CentOS中如何安装7ZIP

执行以下命令下载安装: wget http://nchc.dl.sourceforge.net/project/p7zip/p7zip/9.20.1/p7zip_9.20.1_src_all.tar.bz2tar -jxvf p7zip_9.20.1_src_all.tar.bz2cd p7zip_9.20.1make......

凯文加内特
16分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部