java_25 FileReader类和FileWriter类


1.FileWriter

  1.1FileWriter 用于写入字符流。要写入原始字节流,请考虑使用 FileOutputStream

public class Demo {
	public static void main(String[] args) throws IOException{
		FileWriter fileWriter = new FileWriter("d:\\aaa.txt");
		//添加字符
		fileWriter.write(100);
		fileWriter.write(101);
		//添加字符数组
		char[] c = {'a','b','c','d'};
		fileWriter.write(c);
		fileWriter.write(c,1,2);
		//添加字符串
		fileWriter.write("hello world");
		fileWriter.flush();
		fileWriter.close();
	}
}

2.FileReader

  1.1用来读取字符文件的便捷类。FileReader 用于读取字符流。要读取原始字节流,请考虑使用 FileInputStream

  //flush 和close区别
// flush用来刷新缓冲区的 只有字符流才需要刷新

  字节读取

public class Demo {
	public static void main(String[] args) throws IOException{
		FileReader fileReader = new FileReader("d:\\aaa.txt");
		int len = 0;
		while((len=fileReader.read())!=-1) {
			System.out.print((char)len);
		}
		fileReader.close();
	}
}

  字符数组读取

public class Demo {
	public static void main(String[] args) throws IOException{
		FileReader fileReader = new FileReader("d:\\aaa.txt");
		char[] b = new char[1024];
		int len = 0;
		while((len = fileReader.read(b))!=-1) {
			System.out.println(new String(b,0,len));
		}
		fileReader.close();
	}
}

3.传输数据

  

public class Demo {
	public static void main(String[] args){
		FileReader fileReader = null;
		FileWriter fileWriter = null;
		try {
			fileReader = new FileReader("d:\\aaa.txt");
			fileWriter = new FileWriter("d:\\bbb/txt");
			char[] ch = new char[1024];
			int len = 0;
			while((len=fileReader.read(ch))!=-1) {
				fileWriter.write(ch,0,len);
				fileWriter.flush();
			}
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally {
			if(fileWriter!=null) {
				try {
					fileWriter.close();
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
			if(fileReader!=null) {
				try {
					fileReader.close();
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		}
	}
}

优质内容筛选与推荐>>
1、邓迎春绘画201702作品09
2、在C#中应用哈希表
3、for\for each\for in
4、你不知道的Eclipse的用法:使用MAT分析Android的内存
5、设计模式简单学习(1)--虚方法(virtual)和抽象方法(abstract)的区别


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号





    联系我们

    欢迎来到TinyMind。

    关于TinyMind的内容或商务合作、网站建议,举报不良信息等均可联系我们。

    TinyMind客服邮箱:support@tinymind.net.cn