J2SE学习笔记3.2Java字节流和字符流

Java字节流和字节流的区别

流:用来处理输出和输入,主要是和文件打交道,把计算机的处理结果保存到文件中,把文件中的内容读取到内存中,这些都需要流操作来完成。

J2SE学习笔记3.2Java字节流和字符流_第1张图片

 

1.理解什么是字节流,什么是字符流

字节=byte=8位 字符=char=16位(和具体的文字编码有关)

用字节流处理所有工作。但是,在处理字符文件的时候,用字符流比较方便

用法:任何时候都可用字节流,如果文件是可读的文本,而且读出来需要人去看,来显示,这时最好用字符流。

           这种情况下,如果你非要使用字节流来读,读出来以后你还要把它装配成字符。

了解一下ANSI,UNICODE,utf-8,gb2312编码

2.通过FileInputStream读取文件,显示在屏幕上。

   FileNotFoundException 非RuntimeException

实例(FileInputStream按字节读取和FileReader按字符读取)

import java.io.FileInputStream;

import java.io.IOException;

public class Test {

	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub
        //方法一
		FileInputStream fis=new FileInputStream("F:\\123.txt");
//		int ch=0;//接收每次读取到的东西
//		while((ch=fis.read())!=-1)//不等于-1表示东西没读完
//		{
//			//System.out.print((char)ch+"\t");
//			
//		}
//      fis.close();
	    int len=fis.available();//返回文件长度
	    byte[] data=new byte[len];
	    fis.read(data);
	    System.out.println(new String(data));
	    fis.close();



        //方法二
        FileReader fr=new FileReader("F:\\123.txt");
		int ch =0;
		while((ch=fr.read())!=-1)
		{
			System.out.print((char)ch);
			
		}
		fr.close();



	}

}

输出结果:

J2SE学习笔记3.2Java字节流和字符流_第2张图片

3.通过FileOutputStream将数据写入到文件中,FileWriter亦可以实现操作

import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;

public class Test {

	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub
		//方法一
//        FileOutputStream fos=new FileOutputStream("F:\\abc.txt");
//        String str="我爱王红这只臭猪!";
//        fos.write(str.getBytes());
//        fos.close();
        //方法二
        FileWriter fw=new FileWriter("F:\\abc.txt");
        String str="我爱王红这只臭猪,我要一辈子和她在一起!";
        fw.write(str);
        fw.close();

}
}

 

输出结果:

J2SE学习笔记3.2Java字节流和字符流_第3张图片

 

 

你可能感兴趣的:(Java课上笔记,字节流和字符流,J2SE,Java)