JAVA-IO流中FileReader和FileWriter方法的使用

一、FileWriter方法的使用:

public static void main(String[] args) {
		FileWriter fw =null;
		try {
			//创建一个FileWriter对象,该对象一被初始化就必须要明确被操作的文件
			//而且该文件会被创建到指定目录下,如果该目录下已有同名文件,将被覆盖
			//其实该步就是在明确数据要存放的目的地
			fw= new FileWriter("Demo.txt",true); //这里传递一个true参数,代表不覆盖已有的文件,并在已有文件的莫维持进行数据续写
			
			//调用writer方法,将字符串写到流中
			fw.write("人这一辈子不能太懦弱,这样的话就有人会瞧不起你的,碉堡你知道吗?你再这样下去会没女票的哦亲。。。");
			fw.write("\r\n出来爱死你了");
			
		} catch (IOException e) {
			e.printStackTrace();
		}finally{
			if (fw!=null) {
				try {
					//关闭流资源,但是在关闭之前会刷新一次内容的缓存中数据,将数据刷新到目的地中
					//和flush的区别:flush刷新后,流可以继续使用,而close刷新后,会将流关闭。
					fw.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
	}
二、FileReader方法的使用:
public static void main(String[] args) throws IOException{
		GetFileReader1();
		System.out.println("----------------");
		GetFileReader2();
	}
	
	//读取文件内容的方式一
	public static void GetFileReader1() throws IOException{
		//创建一个文件读取流对象,和指定名称的文件相关联。
				//要保证该文件是已经存在的,如果不存在,会发生异常FileNotFoundException
				FileReader fr = new FileReader("Demo.txt");
				
				//调用读取流对象的read方法
				//read()一次只能读取一个字符,而且会自动往下读
//				while (true) {
//					int read = fr.read();
//					if (read==-1) {
//						break;
//					}
//					System.out.print((char)read);//在这里必须强转成char类型才能显示
//				}
				
				int read = 0;
				while ((read = fr.read())!=-1) {
					System.out.print((char)read);
				}
				
				fr.close();
	}
	
	/**
	 * 第二种方式:通过字符数组进行读取
	 */
	public static void GetFileReader2() throws IOException{
		FileReader fReader = new FileReader("Demo.txt");
		//定义一个字符数组,拥有存储读到的字符
		//读read(char[])返回的是读到的字符个数
		char arr [] = new char[1024];
		int num = 0;
		while ((num=fReader.read(arr)) !=-1) {
			System.out.print(new String(arr,0,num));
		}
<span style="white-space:pre">		</span>fReader.close();
	}
上面结果输出:

人这一辈子不能太懦弱,这样的话就有人会瞧不起你的,碉堡你知道吗?你再这样下去会没女票的哦亲。。。
出来爱死你了----------------
人这一辈子不能太懦弱,这样的话就有人会瞧不起你的,碉堡你知道吗?你再这样下去会没女票的哦亲。。。
出来爱死你了
三、练习:读取一个.java文件

//读取一个.java文件
	public static void Demo() throws IOException{
		FileReader fr= new FileReader("E:\\JAVA\\TestMap\\src\\com\\diaobao\\map\\TastMap.java");
		char [] render = new char[1024];
		int num= 0;
		while ((num = fr.read(render))!=-1) {
			System.out.print(new String(render,0,num));
		}
	}




  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值