`

java IO 经验总结

阅读更多

IO 一直让我很困惑,下面我就IO 读取文件总体 总结下

InputStream 文件读:

//字节流读入
DataInputStream in = new DataInputStream(new BufferedInputStream(new FileInputStream("D:/workspace/myspring/src/FormattedMemoryInput.java")));	
        while(in.available()!=0){
    	  System.out.print((char)in.readByte());
        }

 

//字符流读入

		BufferedReader in = new BufferedReader (new FileReader("D:/workspace/myspring/src/FormattedMemoryInput.java"));
		String s ;
		StringBuilder sb = new StringBuilder();
		while ((s=in.readLine())!=null){
			sb.append(s+"\n");
		}
		return sb.toString();
	

 都能达到相同效果;

//将字节流转换成字符流读取
DataInputStream in5 =new DataInputStream( 
    			new BufferedInputStream(new FileInputStream("D:/workspace/myspring/src/FormattedMemoryInput.java"))); 
    	BufferedReader in5br =new BufferedReader(new InputStreamReader(in5)); 
        StringBuilder s = new StringBuilder();
        String k ;
    	while((k=in5br.readLine())!=null){
        	s.append(k+"\n");
        }
        in5br.close();
        in5.close();
        System.out.println(s.toString());

 

//将字符流转换成字节流读取

  BufferedReader in = new BufferedReader (new FileReader("D:/workspace/myspring/src/BufferedInputFile.java"));
			String s ;
			StringBuilder sb = new StringBuilder();
			while ((s=in.readLine())!=null){
				sb.append(s+"\n");
			}
		DataInputStream in3 =new DataInputStream(new ByteArrayInputStream(sb.toString().getBytes())); 
		 while (in3.available()!=0){
			 System.out.print((char)in3.readByte());
		 }

 文件输出:

字符流输出:

 

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringReader;


public class BasicFileOutPut {

	static String file="D:/workspace/myspring/src/BasicFileOutPut.out";
	public static void main(String agrs [] ) throws IOException{
		BufferedReader in = new BufferedReader(new StringReader(BufferedInputFile.read("D:/workspace/myspring/src/BasicFileOutPut.java")));
	    PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter(file)));
	    int lineCount =1;
	    String s ;
	    while ((s=in.readLine())!=null){
	    	out.println(lineCount++ +":"+s);
	    }
	    out.close();
	   System.out.println(BufferedInputFile.read(file));
	}
}

 

分享到:
评论

相关推荐

    java基础核心总结归纳---参考手册--心得手册-学习资料-总结经验

    基础 IO 类和相关⽅法 25 InputStream 25 OutputStream 25 Reader 类 26 Writer 类 26 InputStream 及其⼦类 27 OutputStream 及其⼦类 27 Reader 及其⼦类 28 Writer 及其⼦类 28 注解 28 关于 null 的⼏种处理⽅式...

    java-面试指北PDF版

    · Java IO 模型常见面试题总结 · 2022腾讯云Java工程师一面 + 被捞一面 + 二面面经 · MySQL 日志:常见的日志都有什么用? · MySQL 索引:索引为什么使用 B+树? · 如何设计一个排行榜? ·

    2019java亲生经历面试题答案解析准备.zip

    主要是这些,本来我是不想赚积分的,可是我上传也不能设置积分,不然我就设置成免费的,个人工作经验俩年,毕业三年。是故找工作需要做一些准备工作,把我锁找到的资料给大家分享一下,希望有一些助益。内容主要有...

    javacore:JavaCore是对Java核心技术的经验总结

    Java核心 :hot_beverage: JavaCore是一个Java核心技术教程。 :repeat_button:项目同步维护: | :open_book:电子书阅读: | :keycap_1: :keycap_2: :keycap_3: :keycap_4: :keycap_5: :keycap_6: :open_book:内容 -...

    Win7中使用Eclipse连接虚拟机中的Linux中的Hadoop2.5.0经验总结

    Win7中使用Eclipse连接虚拟机中的Linux中的Hadoop2.5.0经验总结. 我自己测试在Hadoop2.5.0,但应该也能解决2.5.0以上版本问题,文档中包含解决步骤及所需要的包,如hadoop.dll及winutils.exe。还有一个修改过的...

    J2SE技术总结-Java学习精华教程-电子书

    本书内容非常全面,涵盖了《Java编程思想》、《Java学习笔记》等书籍所有知识要点,并结合作者自己经验总结而编写,内容丰富程度胜过一切书籍 众所周知,一般书籍为了销售需要,往往很少的知识点,却需要添加大量的...

    J2EE(Java EE)技术总结-J2EE学习精华教程-电子书

    本书内容非常全面,涵盖了多册J2EE书籍所有知识要点,并结合作者自己经验总结而编写,内容相当丰富 众所周知,一般书籍为了销售需要,往往很少的知识点,却需要添加大量的废话、例子,以增加书本厚度,使得阅读者...

    Java 集合(Collections)总结

    第一次系统的阅读理解Java Collections Framework的源码,已经粗略的学习完了,做个简单的总结。首先把资料放置在第一位,想系统学习的主要原因在工作之余想自学点东西,看了master24 的博文之后,感觉有必要把Java...

    Java–Mybatis搭建(XML方式)

    文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢! 创建maven项目 映射配置文件IUserDao.xml select * from user 创建实体类 package www; ...

    word源码java-java-learning:一个java高级工程师的进阶之路

    word源码java hello-world ...但既然前人已经给我们总结出了经验,我们何不踩着前人的肩膀前进?  三、XML。现在的系统中不使用XML几乎是不可能的。XML的功能非常强大,它可以做数据转换、做系统的

    百度地图开发java源码-MD-Notes:计组、操作系统、数据结构、网络IO、Redis、MySQL、JVM等笔记

    百度地图开发java源码 MD-Notes:后端笔记总结 ...:面向对象,集合,IO流等 :HashMap,ConcurrentHashMap扩容原理等 :线程状态,ThreadLocal,强软弱虚引用,自定义线程池 :类加载过程,双亲委派机制 :syncro

    2024年java面试题-设计模式面试题

    设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性。 看懂源代码:如果你不懂设计模式去看Jdk...

    word源码java-myProject:我的团队组织项目

    word源码java ...但既然前人已经给我们总结出了经验,我们何不踩着前人的肩膀前进? 三、 XML。现在的系统中不使用XML几乎是不可能的。XML的功能非常强大,它可以做数据转换、做系统的配置、甚至可保存您

    treasure:互联网时代前端"手Craft.io人"的百宝箱

    我做为一名专业的前端(), 特将自己多年的经验整理出来, 一方面帮助自己理清思路, 想想自己是怎样一步步走过来的, 另一方面当然也是想和大家一起分享下我的收获, 希望每个人都能够从中获益, 特别是那些想入门前端开发...

    java8stream源码-doc:一步一步建立起分布式系统:SOA->微服务->云原生的一套完整技术栈

    把设计模式作为一个专题,主要是学习设计模式是如何总结经验的,把经验为自己所用。同时也为阅读框架源码打下坚实的基础。在学习设计模式之前,一定要先了解软件设计原则。 示例代码地址::wenbin8/design-pattern....

    面向对象技术与UML课件及源代码-by 南邮-陈杨

    第11章Java IO操作 第12章多线程开发 第13章反射技术 第14章实验指导3 下篇UML 第15章UML入门 第16章用例图 第17章类图和对象图 第18章实验指导4 第19章顺序图、协作图、状态图和活动图 第20章包图、...

    详解如何减少python内存的消耗

    这些都是从实际操作中总结的经验,我们正在构建 Datos IO 的 RecoverX 分布式备份和恢复平台,这里主要要介绍的是在 Python(在 C++ ,Java 和 bash 中也有一些类似的组件) 中的开发。 Python 垃圾收集 Python解释...

    snowdreams1006.github.io:雪之梦技术驿站,snowdreams1006构建的Gitbook个人博客

    教程分享均是笔者亲身学习经验总结,涉及到的知识点均亲身试验,但有时为了知识转化,可能直接参与确认,对于这部分内容会明确指出,到时由读者确认试验。 如果Reader实际运行效果和教程演示效果有出入,很可能是...

    Netty权威指南 第2版 高清+书签

    《Netty 权威指南(第2 版)》是异步非阻塞通信领域的经典之作,基于最新版本的Netty 5.0 编写,是国内很难得一见的深入介绍Netty 原理和架构的书籍,也是作者多年实战经验的总结和浓缩。内容不仅包含Java NIO入门...

Global site tag (gtag.js) - Google Analytics