博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用字节流和字符流读取信息。(对字节流的重新认识)
阅读量:3525 次
发布时间:2019-05-20

本文共 1712 字,大约阅读时间需要 5 分钟。

一、字节流是只读取一个字节,字符流是读取2个字节。一个汉字占用2个字节‘

 

package Test;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;public class Test8 {public static void main(String[] args) throws IOException {	try {		File file=new File("E:/temp/text.txt");		FileInputStream fStream=new FileInputStream(file);		StringBuffer sub=new StringBuffer();		byte[] b=new byte[4];// 如果这样写,“你好”汉字能读出,但是那是因为没有符号。有符号的话还是会出现乱码		while(fStream.available()>0){//字节流是支持写入汉字的但是不 好,一有标点就会乱码。字节流独有的判断方法			fStream.read(b);			String string=new String(b);//读取内容转换为字符串			sub.append(string);			b=new byte[4];//重新new一个数组,把原来的数组清空		}		System.out.println(sub.toString().trim());//trim方法是把后面的空格去掉		fStream.close();	} catch (Exception e) {		// TODO Auto-generated catch block		e.printStackTrace();	}}}
二、

package Test;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;import javax.security.auth.Subject;public class test9 {	public static void main(String[] args) {		// 使用字符流读取文件		try {// 创建文件对象			File file = new File("E:/temp/text.txt");			// 根据源文件对象那构建字符读取流			FileReader fr = new FileReader(file);			// 创建追加存储读取内容的StringBuffer对象			StringBuffer su = new StringBuffer();			// 定义char类型的额容器数组			char[] c = new char[1024];			// 读取并返回读取长度(如没读到返回-1)			int length = fr.read(c);			// 循环判断读取			while (length != -1) {// 将本次读取的内容追加到sub中				su.append(c);				c = new char[1024];// 重置数组				length = fr.read(c);			}			fr.close();			System.out.println(su.toString().trim());		} catch (FileNotFoundException e) {			// TODO Auto-generated catch block			e.printStackTrace();		} catch (IOException e) {			// TODO Auto-generated catch block			e.printStackTrace();		}	}}

转载地址:http://xlrqj.baihongyu.com/

你可能感兴趣的文章
[LeetCode javaScript] 811. 子域名访问计数
查看>>
[LeetCode javaScript] 414. 第三大的数
查看>>
[LeetCode javaScript] 242. 有效的字母异位词
查看>>
[LeetCode javaScript] 75. 颜色分类
查看>>
[LeetCode javaScript] 179. 最大数
查看>>
[LeetCode javaScript] 56. 合并区间
查看>>
[LeetCode javaScript] 190. 颠倒二进制位
查看>>
[LeetCode javaScript] 521. 最长特殊序列 Ⅰ
查看>>
[LeetCode javaScript] 806. 写字符串需要的行数
查看>>
[LeetCode javaScript] 868. 二进制间距
查看>>
[LeetCode javaScript] 824. 山羊拉丁文
查看>>
[LeetCode javaScript] 463. 岛屿的周长
查看>>
[LeetCode javaScript] 107. 二叉树的层次遍历 II
查看>>
[LeetCode javaScript] 637. 二叉树的层平均值
查看>>
[LeetCode javaScript] 1. 两数之和
查看>>
[LeetCode javaScript] 14. 最长公共前缀
查看>>
[LeetCode javaScript] 26. 删除排序数组中的重复项
查看>>
[LeetCode javaScript] 8. 字符串转换整数 (atoi)
查看>>
[LeetCode javaScript] 28. 实现strStr()
查看>>
cv2.error: OpenCV(3.4.2) c:\projects\opencv-python\opencv\modules\imgproc\src\color.hpp:25
查看>>