Java的IO

Java的输入

<span style="font-size:14px;">import java.util.Scanner;
public class Test {
	public static void main(String args []){
		Scanner input=new Scanner(System.in);
		System.out.println("输入整数:");
		int a=input.nextInt();
		System.out.println("输入实数:");
		double b=input.nextDouble();
		System.out.println("输入字符不含空格的字符串:");
		String c=input.next();//识别空格
		input.nextLine();//nextLine会读回车
		System.out.println("输入字符串:");
		String str=input.nextLine();
		
		System.out.println("输入整数:"+a);
		System.out.println("输入实数:"+b);
		System.out.println("输入字符:"+c);
		System.out.println("输入字符串:"+str);
		input.close();
	}
}</span>


字节流

InputStream,OutputStream都是抽象类,他们的子类分别是FileInputStream,FileOutputStream



Off是偏移量,从数组第几位开始存,len读多少数据,返回值是总共读取了多少字节的数据



from.txt里面是abcd


打印结果是ASCII码形式:97 98 99 100 0 0 0 。。。。。。

要想变成字符串的形式:
String s=new String(buffer);

System.out.println(s);

s.trim();//String的方法,可以消除字符串的首位(空字符和空格)


from.txt的内容放到to.txt

import java.io.*;
public class Test {
	public static void main(String args[]){
		FileInputStream fis=null;
		FileOutputStream fos=null;
		try{
			fis=new FileInputStream("C:/Users/Administrator/Desktop/from.txt");//相当于一个输入流管子
			fos=new FileOutputStream("C:/Users/Administrator/Desktop/to.txt");
			byte[] buffer=new byte[100];
//将from.txt里的内容以100字节的形式逐渐写到to.txt
			while(true){
				int num=fis.read(buffer, 0, buffer.length);
				if(num==-1){
					break;
				}
				fos.write(buffer,0,num);
			}
		}
		catch(Exception e){
			System.out.println(e);
		}
		finally{
			try{
				fis.close();//关闭管道,也必须有异常处理,否则会出错。
				fos.close();
			}
			catch(Exception e){
				System.out.println(e);
			
			}
		}
	}



字符流

刚刚说字节流,读写文件时以字符为基础,字符流以字符为基础。


同字节流的使用方法相似。

import java.io.*;
public class Testchar {
	public static void main(String args[]){
		FileReader fr=null;
		FileWriter fw=null;
		try{
			fr=new FileReader("C:/Users/Administrator/Desktop/from.txt");
			fw=new FileWriter("C:/Users/Administrator/Desktop/to.txt");
			char[] str=new char[100];
			while(true){
				int num=fr.read(str,0,str.length);
				if(num==-1){
					break;
				}
				fw.write(str,0,num);
			}
		}
		catch(Exception e){
			System.out.println(e);
		}
		finally{
			try{
				fr.close();
				fw.close();
			}
			catch(Exception e){
				System.out.println(e);
			}
		}
	}



BufferedReader介绍


FileReader fileReader=null;
		BufferedReader bufferedReader=null;
		try{
			fileReader=new FileReader("C:/Users/Administrator/Desktop/from.txt");//节点流
			bufferedReader=new BufferedReader(fileReader);//处理流,对节点流进行处理,使其拥有更多功能
			String line=null;
			while(true){
				line=bufferedReader.readLine();
				if(line==null){
					break;
				}
				System.out.println(line);
			}
		}
		catch(Exception e){
			System.out.println(e);
		}
		finally{
			try{
				fileReader.close();
				bufferedReader.close();
			}
			catch(Exception e){
				System.out.println(e);
			}
		}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值