java输入输出流

IO

字节输入流:

FileInputStream

在这里插入图片描述

在这里插入图片描述

package ceshi;
import java.io.*;
public class Ceshi {
	public static void main(String[] args) {
		String fileName1 = "res/a.txt";
		String fileName2 = "res/a.txt";
		String fileName3 = "res/a.txt";
		FileInputStream fis1 = null;
		FileInputStream fis2= null;
		FileInputStream fis3 = null;
		try{
			fis1 = new FileInputStream(fileName1);
			fis2= new FileInputStream(fileName2);
			fis3 = new FileInputStream(fileName3);
			 int r; 
			 while((r = fis1.read()) != -1){ //一个一个字节的读 
				  System.out.print((char)r); } 
			 System.out.println();
			 System.out.println("**************************");
			  byte [] b=new
			  byte[20]; 
			  fis2.read(b); //将读取的数据保存在数组b中 
			  char [] c=new char[20]; 
			  for(int i=0;i<b.length;i++)
				  c[i]=(char)b[i];
			  System.out.println(c);
			  System.out.println("**************************");
			 
			byte [] d=new byte[20];
			fis3.read(d,2,5);  //读取五个字节数据,并将数据从数组b下标为2开始保存;
			char [] cc=new char[20];
			for(int i=0;i<d.length;i++)
				cc[i]=(char)d[i];
			System.out.print(cc);
		}catch(Exception e){
			e.printStackTrace();
		}
		finally{
			try{
				fis1.close();
				fis2.close();
				fis3.close();
			}catch(Exception e){
				e.printStackTrace();
			}			
		}
			
	}
	
}



FileOutStream

在这里插入图片描述

在这里插入图片描述

package ceshi;
import java.io.*;
public class Ceshi {
	public static void main(String[] args) {
			
			String fileName1 = "res/b1.txt";
			String fileName2 = "res/b2.txt";
			String fileName3 = "res/b3.txt";
			FileOutputStream out1 = null;
			FileOutputStream out2 = null;
			FileOutputStream out3 = null;
			
			try{
				out1 = new FileOutputStream(fileName1);
				out2 = new FileOutputStream(fileName2);
				out3 = new FileOutputStream(fileName3);
				String str = "hello world";
				byte[] bytesArray1 = str.getBytes();
				out1.write(bytesArray1);
				byte[] bytesArray2 = str.getBytes();
				out2.write(bytesArray2,1,3); //只写部分数据
			}catch(FileNotFoundException e1){
				System.out.println("FileNotFound Exception");
			}
			catch(IOException e2){
				System.out.println("IO Exception");
			}
			finally{
				try{
					out1.close();
					out2.close();
					out3.close();
				}catch(IOException e3){
					System.out.println("Close Exception");
				}
			}

		}
}

FileWriter

构造方法与FileOutputStream类似

在这里插入图片描述

package ceshi;
import java.io.*;
public class Ceshi {
public static void main(String[] args) {		
		String fileName1 = "res/c1.txt";
		String fileName2 = "res/c2.txt";
		FileWriter out1 = null;
		FileWriter out2= null;
		String str = "Hello World!";
		String str2="Hello World! 2";
		try{
			out1 = new FileWriter(fileName1);
			out2 = new FileWriter(fileName2);
			char[] charArray = str.toCharArray();
			out1.write(charArray);//输出字符数组数据;
			out2.write(str2); //输出字符串数据
			out1.flush();
			out2.flush();
			
		}catch(FileNotFoundException e1){
			System.out.println("FileNotFound Exception");
		}
		catch(IOException e2){
			System.out.println("IO Exception");
		}
		finally{
			try{
				out1.close();
				out2.close();
			}catch(IOException e3){
				System.out.println("Exception");
			}
		}

	}

	
}

FileReader

构造方法与FileIutputStream类似
在这里插入图片描述

package ceshi;
import java.io.*;
public class Ceshi {
	public static void main(String[] args) {
		String fileName1 = "res/a.txt";
		String fileName2 = "res/a.txt";
		FileReader fr1 = null;
		FileReader fr2 = null;
		try{
			fr1 = new FileReader(fileName1);
			fr2= new FileReader(fileName2);
			int r;

			while((r = fr1.read()) != -1){ //读取单个字符
				System.out.print((char) r);
			}
			System.out.println();
			char [] b=new char[100];
			fr2.read(b); //读取数据,并保存在数组中;
			System.out.print(b);
				
		}catch(Exception e){
			e.printStackTrace();
		}
		finally{
			try{
				fr1.close();
				fr2.close();
			}
			catch(Exception e){
				e.printStackTrace();
			}
		}
	}

}


字符缓冲流BufferedReader

在这里插入图片描述

package ceshi;
import java.io.*;
public class Ceshi {
public static void main(String[] args) {
		
		String fileName = "res/c1.txt";
		FileReader fr = null;
		BufferedReader br = null;
		
		try{
			fr = new FileReader(fileName);
			br = new BufferedReader(fr);
			String line;
			while((line = br.readLine())!= null){ //line中存放每一行的内容;
				System.out.println(line);
			}
				
		}catch(Exception e){
			e.printStackTrace();
		}
		finally{
			try{
				br.close();
				fr.close();
				
			}catch(Exception e){
				e.printStackTrace();
			}
		}
	}

	
}


Scanner

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值