首页 > 代码库 > javaI/O流

javaI/O流

  I/O流总结:

(1)java流操作的类或接口

技术分享

(2)按照不同的角度进行分类:

  1〉按照流的方向可以分为输入流和输出流;

  2〉按照处理数据的不同可以分为字节流(8位)和字符流(16位);

(3)  J2SDK所提供的所有位于包java.io内的流类型都分别继承以下四种抽象流类型。

               技术分享

1〉InputStream基本方法:

int read() //读取一个字节并且以一个整形返回,如果返回-1则说明已到输入流的末尾。

int read(byte[] buff ) //读取一系列的字节并存储到一个buff数组中,返回的是实际读到的字节数。

int read(byte[] buff,int offset,int length) //读取length个字节,读取一系列的字节并存储到一个buff数组中,返回的是读到的字节数。

void close()  //关闭流

//创建流
		FileInputStream fis=new FileInputStream( "C:\\myfile\\my.txt");
		byte [] data=http://www.mamicode.com/new byte[1024];>

 

2〉OutputStream基本方法:

void write(int b)   //向输出流中写入一个字节数据;

void write(byte [])   // 将一个字节类型数组中的数据写入到输出流中;

void write(byte [],int off,int len)    // 将一个字节类型数组中的数据从指定位置(off),长度为(len)的数据写入到输出流中;

3〉Reader的基本方法:

int reader()   //读取一个字符并以整数的形式返回;

int reader(char [] off)   //读取一系列的字符并存储到数组off中,返回实际读到的字符数;

int reader(char [] off,int offset,int length)  //读取一个字符,从offset位置开始,到length长度;

4〉Writer

void write(int b)     //向输出流中写入一个字符数据;

void write( String,String)     //将一个字符串中的字符写入到输出流中;  

void write(byte [],int off,int len)       ////将一个字符类型的数组中从指定位置(off)开始的length长度到输出流中;

例:把D盘文件中的内容读取并写入到C盘文件中:

	//创建流对象
		Reader reader = new FileReader("D:\\我的青春谁做主.txt");
		BufferedReader br = new BufferedReader(reader);
		Writer write = new FileWriter("C:\\myfile\\my.txt");
		BufferedWriter bw = new BufferedWriter(write);
		StringBuffer sbr = new StringBuffer();
		String line;
		//循环读取内容
		while ((line = br.readLine()) != null) {
			sbr.append(line);
			System.out.println(sbr);
		}
          //写入到C盘中
String news = sbr.toString(); bw.write(news); //关闭流 bw.close(); write.close(); br.close(); reader.close(); }

 

(3)使用二进制读取文本文件 

                                //原始路径
    		InputStream is=new FileInputStream("C:\\图片.jpg");
		DataInputStream dis=new DataInputStream(is);
		//目标路径
		OutputStream os=new FileOutputStream("E:\\.jpg");
		DataOutputStream ois=new DataOutputStream(os);
		byte [] data=http://www.mamicode.com/new byte[1024];>

 

javaI/O流