Java自学-I/O 缓存流】的更多相关文章

Java 缓存流BufferedReader,PrintWriter 以介质是硬盘为例,字节流和字符流的弊端: 在每一次读写的时候,都会访问硬盘. 如果读写的频率比较高的时候,其性能表现不佳. 为了解决以上弊端,采用缓存流. 缓存流在读取的时候,会一次性读较多的数据到缓存中,以后每一次的读取,都是在缓存中访问,直到缓存中的数据读取完毕,再到硬盘中读取. 就好比吃饭,不用缓存就是每吃一口都到锅里去铲.用缓存就是先把饭盛到碗里,碗里的吃完了,再到锅里去铲 缓存流在写入数据的时候,会先把数据写入到缓存…
Java 对象流 ObjectInputStream,ObjectOutputStream 对象流指的是可以直接把一个对象以流的形式传输给其他的介质,比如硬盘 一个对象以流的形式进行传输,叫做序列化. 该对象所对应的类,必须是实现Serializable接口 步骤 1 : 序列化一个对象 创建一个Hero对象,设置其名称为garen. 把该对象序列化到一个文件garen.lol. 然后再通过序列化把该文件转换为一个Hero对象 注:把一个对象序列化有一个前提是:这个对象的类,必须实现了Seria…
Java的字符流 Reader Writer Reader字符输入流 Writer字符输出流 专门用于字符的形式读取和写入数据 步骤 1 : 使用字符流读取文件 FileReader 是Reader子类,以FileReader 为例进行文件读取 package stream; import java.io.File; import java.io.FileReader; import java.io.IOException; public class TestStream { public st…
关闭流的方式 所有的流,无论是输入流还是输出流,使用完毕之后,都应该关闭. 如果不关闭,会产生对资源占用的浪费. 当量比较大的时候,会影响到业务的正常开展. 步骤 1 : 在try中关闭 在try的作用域里关闭文件输入流,在前面的示例中都是使用这种方式,这样做有一个弊端: 如果文件不存在,或者读取的时候出现问题而抛出异常,那么就不会执行这一行关闭流的代码,存在巨大的资源占用隐患. 不推荐使用 package stream; import java.io.File; import java.io.…
Java的流 Stream 什么是流(Stream),流就是一系列的数据 步骤 1 : 什么是流 当不同的介质之间有数据交互的时候,JAVA就使用流来实现. 数据源可以是文件,还可以是数据库,网络甚至是其他的程序 比如读取文件的数据到程序中,站在程序的角度来看,就叫做输入流 输入流: InputStream 输出流:OutputStream 步骤 2 : 文件输入流 如下代码,就建立了一个文件输入流,这个流可以用来把数据从硬盘的文件,读取到JVM(内存). 目前代码只是建立了流,还没有开始读取.…
1.IO简介 IO(输入输出)通过java.io包下的类和接口来支持,包下包括输入.输出两种IO流,每种输入输出流又可分为字符流和字节流两大类. 2.File类 File类是io包下与平台无关的文件和目录,File能新建.删除.重命名文件和目录,不能访问文件本身,后者需要使用输入输入流. 2.1 构造方法 File类的构造方法: File(File parent, String child) 参数:父路径,子路径 根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实…
转换流 由于字节流操作中文不是特别方便,所以java中提供了转换流 编码表:由现实世界的字符和对应的数值组成的一张表 编码:把看得懂的变成看不懂的(String-------byte[]) 解码:把看不懂的变成看得懂的(byte[]-------String) String-----bytes[] import java.util.Arrays; import java.io.UnsupportedEncodingException; public class StringDemo{ publi…
JAVA自学之路 一: 学会选择 为了就业,不少同学参加各种各样的培训. 决心做软件的,大多数人选的是java,或是.net,也有一些选择了手机.嵌入式.游戏.3G.测试等. 那么究竟应该选择什么方向呢? 我的意见是,不要太过相信各种培训机构或是抢手文章的说法(包括我),当你要走向社会的时候,就不要再把自己当成学生,不要把自己的将来交给别人,学会运用自己的眼睛去观察,去了解这个世界吧. 每个培训机构都会宣传自己的好处,并不能说明大的趋势. 一些新闻文章很有可能是枪手写的,不必太过相信.国外背景的…
声明:该博文以socket中,关闭输出流为例进行说明. 为了方便讲解,我们把DataOutputstream dout = new DataOutputStream(new BufferedOutputStream(mySocket.getOutputStream()));中的dout做为Socket输出流的代言.同样的,din是输入流的代言. 可以造成dout被关闭的操作有: 1.调用dout.close();或din.close();因为使用这种流关闭,会造成socket被关闭,所以输入输出…
一 JAVA语言中主要通过流来完成IO操作. 流:计算机的输入输出之间流动的数据序列,也是类的对象.java中的流方式就像是建立在数据交换源和目的之间的一条通信路径. 数据源:计算机中的数据源是指可以提供数据的地方,包括键盘,磁盘文件,网络接口等. 输入流:从程序外部传向程序的流.输入流只能从中读数据. 输出流: 从程序传到外部的流.输出流只能向其写入数据. 所谓的输入和输出是以程序为中心的,数据流向程序即输入流,数据从程序中流出即输出流. 二 字节流 字节流是以字节为传输单位的数据读写形式,用…
.t1 { background-color: #ff8080; width: 1100px; height: 40px } 一.递归 [递归] 1. 在函数自身内部,调用函数本身的方式,称为递归.  2. 注意: 递归包括递进去.归出来两步.  首先,依次执行[函数调自身语句]上半部分的代码,直到最里层. {递进去}  然后,再从最里层开始,依次执行[函数调自身语句]下半部分的代码. {归出来}  3. 递归必须通过合适的语句,及时的跳出. 否则,容易造成死循环. public static…
JAVA自学笔记19 1.集合总结 Collection(单列集合) List(有序可重复) ArrayList:底层数据结构是数组 ,查询快,增删慢.线程不安全,效率高 Vector:底层数据结构是数组,查询快,增删慢.线程不安全,效率低 LinkedList:底层数据结构是链表,查询慢,增删快,线程不安全,效率高 Set(无序唯一) HashSet:底层数据结构是哈希表,哈希表依赖两个方法:hashCode()和equals() 执行顺序:首先判断hashCode()值是否相同,是则继续执行…
JAVA自学笔记20 1.递归: 1)方法定义中定义中调用方法本身的现象 2)要有出口,否则就是死递归 次数不能太多.否则内存将溢出 构造方法不能递归使用 //斐波那契数列:1,1,2,3,5,8,13,21.34 public int Fibonacci(int n){ if(n==1||n==2){return 1;} return Fibonacci(n-1)+Fibonacci(n-2) } @例题1:遍历目录下指定后缀名结尾的文件名称 private static void getAl…
JAVA自学笔记21 1.转换流 由于字节流操作中文不是非常方便,因此java提供了转换流 字符流=字节流+编码表 1)编码表 由字符及其对应的数值组成的一张表 图解: 2)String类的编码和解码 String(byte[] bytes,String charsetName): 通过指定的字符集解码字节数组 byte[]getBytes(String charsetName) 使用指定的字符串编码为字节数组 String s="你好"; //编码String-byte[] byte…
JAVA自学笔记22 1.操作基本数据类型的流 DataInputStream DataOutputStream 数据输出流允许应用程序以适当方式将基本的Java数据类型写入输出流中.然后,应用程序可以使用数据输入流将数据读入. //实例 private static void write(){ DataOutputStream dos-new DataOutputStream(new FileOutputStream("dos.txt")); dos.writeByte(10); d…
JAVA自学笔记24 1.能使用同步代码块就使用同步代码块,除非锁对象是this,就可以考虑使用同步方法.静态方法的锁是类的字节码对象. 2.JDK5新特性 1)接口Lock void Lock()//获取锁 void unlock()//释放锁 ReentrantLock:实现类 public class SellTicketDemo{ public stsatic void main(String args[]){ Thread t1=new Thread(st,"窗口1"); T…
JAVA自学笔记26 1.网络编程 1)用来实现网络互联的不同计算机上运行的程序可以进行数据交换 2)网络模型一般泛指 OSI:(Open System Interconnection)开放系统互联参考模型 TCP/IP参考模型 3)网络编程三要素 IP地址.端口.协议 ①IP地址:在TCP/IP协议中网络通信中的计算机的唯一标识号 java提供类InetAddress供使用. 为了方便用4个十进制数表示 网络号段+主机号段 IP分类: 见书 ipconfig–查看本机IP地址 ping ip地…
JAVA自学笔记25 1.GUI 1)图形用户接口,以图形的方式,来显示计算机操作的界面,更方便更直观 2)CLI 命令行用户接口,就是常见的Dos,操作不直观 3) 类Dimension 类内封装单个对象组件中组件的宽度和高度(精确到整数) Dimension(int width,int height); 类Point //窗体案例 Frame f=new Frame();//也可通过带参构造设置标题String title, //设置窗体标题 f.setTitle("dd"); /…
一.缓存流 以介质是硬盘为例子说明,字节流和字符流的缺点: 每次读写的时候,都会访问硬盘,如果读写频率比较高的时候,性能不佳.为了解决问题,采用缓存流. 缓存流在读取的时候,会一次性读较多的数据到缓存中,以后每一次的读取,都是在缓存中访问,直到缓存中的数据读取完毕,再到硬盘中区读取. 缓存流在写入数据的时候,会先把数据写入到缓存区,直到缓存区达到一定的量,才把这些数据,一起写入到硬盘中去,按照这种方式,就不会像字节流,字符流那样每次写一个字节都访问硬盘,减少了I/O操作. 1.使用缓存流读取数据…
作者:马士兵老师 JAVA自学之路 一:学会选择 为了就业,不少同学参加各种各样的培训. 决心做软件的,大多数人选的是java,或是.net,也有一些选择了手机.嵌入式.游戏.3G.测试等. 那么究竟应该选择什么方向呢? 我的意见是,不要太过相信各种培训机构或是抢手文章的说法(包括我),当你要走向社会的时候,就不要再把自己当成学生,不要把自己的将来交给别人,学会运用自己的眼睛去观察,去了解这个世界吧. 每个培训机构都会宣传自己的好处,并不能说明大的趋势. 一些新闻文章很有可能是枪手写的,不必太过…
Java:IO流与文件基础 说明: 本章内容将会持续更新,大家可以关注一下并给我提供建议,谢谢啦. 走进流 什么是流 流:从源到目的地的字节的有序序列. 在Java中,可以从其中读取一个字节序列的对象称作 输入流,可以向其中写入一个字节序列的对象称作 输出流. ☑ 这些字节序列的来源可以是:文件.网络连接.内存块等. ☑ 抽象类InputStream和OutputStream是构成输入/输出(I/O)的基础. ☑ 因为面向字节的流不便于处理以Unicode形式存储的信息(字符),所以从抽象类Re…
Java自学之路(新手一定要看) 转自尚学堂 JAVA自学之路 一:学会选择 为了就业,不少同学参加各种各样的培训. 决心做软件的,大多数人选的是java,或是.net,也有一些选择了手机.嵌入式.游戏.3G.测试等. 那么究竟应该选择什么方向呢? 我的意见是,不要太过相信各种培训机构或是抢手文章的说法(包括我),当你要走向社会的时候,就不要再把自己当成学生,不要把自己的将来交给别人,学会运用自己的眼睛去观察,去了解这个世界吧. 每个培训机构都会宣传自己的好处,并不能说明大的趋势. 一些新闻文章…
JAVA自学之路 一: 学会选择 为了就业,不少同学参加各种各样的培训. 决心做软件的,大多数人选的是java,或是.net,也有一些选择了手机.嵌入式.游戏.3G.测试等. 那么究竟应该选择什么方向呢? 我的意见是,不要太过相信各种培训机构或是抢手文章的说法(包括我),当你要走向社会的时候,就不要再把自己当成学生,不要把自己的将来交给别人,学会运用自己的眼睛去观察,去了解这个世界吧. 每个培训机构都会宣传自己的好处,并不能说明大的趋势. 一些新闻文章很有可能是枪手写的,不必太过相信.国外背景的…
一.数据流的基本概念 数据流是一串连续不断的数据的集合,就象水管里的水流,在水管的一端一点一点地供水,而在水管的另一端看到的是一股连续不断的水流.数据写入程序可以是一段.一段地向数据流管道中写入数据,这些数据段会按先后顺序形成一个长的数据流.对数据读取程序来说,看不到数据流在写入时的分段情况,每次可以读取其中的任意长度的数据,但只能先读取前面的数据后,再读取后面的数据.不管写入时是将数据分多次写入,还是作为一个整体一次写入,读取时的效果都是完全一样的. 在电脑上的数据有三种存储方式,一种是外存,…
Java 数据流DataInputStream ,DataOutputStream DataInputStream 数据输入流 DataOutputStream 数据输出流 步骤 1 : 直接进行字符串的读写 使用数据流的writeUTF()和readUTF() 可以进行数据的格式化顺序读写 如本例,通过DataOutputStream 向文件顺序写出 布尔值,整数和字符串. 然后再通过DataInputStream 顺序读入这些数据. 注: 要用DataInputStream 读取一个文件,这…
Java自学不是一朝一夕的事情.可以采用"懒开始"的方法,但是必须要坚持下去,才能真正自学Java掌握编程技术.那些企图学几天去包装一下找工作的,请绕道.如果你下定决心自学Java,那么这套Java自学路线图绝对是你系统性.全面自学的最佳选择! Java自学路线是螺旋上升的,需要耗费的时间和精力不比其他学科的少,但由于其稳健性的特点使其成为企业开发的刚需编程语言.从网上看到发布Java自学路线图的很多,但大部分学习路线图是很零碎的,没有系统的自学目标和自学中需要掌握的重点知识. 黑马程…
Java自学路线图的框架分为两个阶段,第一阶段的Java框架包含六个内容:MyBatis,Spring,SpringMVC,Maven高级,Git,Dubbo. 在Java自学过程中掌握框架的使用,对企业项目的构建有着关键性的作用.Java框架规定了应用体系结构,构成了某类特定软件的可复用设计.自学完这一部分的Java框架后,可以使Java开发人员只关注软件的业务功能,这是迈向中级程序员的重要一步. Java框架自学资源 Java框架有哪些是企业刚需的?(点击进入) Java框架第一阶段技术要点…
前言篇 大家好,我是bigsai 好久不见,甚是想念,文章同时收录在回车课堂(文底阅读原文可达). 无论你是大学生还是在职人员,想学Java时,都会面临两个选择,自学或者报班.报班通常太费钱,时间又不自由:自学又不知道如何下手,担心自己坚持不下来.怎么办呢? 本文将解答你自学Java的N种问题: 你适不适合自学Java呢? 如何自学Java呢? 有没有靠谱的Java自学资料推荐? 怎样让自己看到进步,坚持下来? -- 以上问题,课程中我都会呕心给你梳理答案,赶快开始学习吧. 什么人适合自学Jav…
Memcached 客户端选择 上一篇文章 从零开始学 Java - Spring 集成 Memcached 缓存配置(一)中我们讲到这篇要谈客户端的选择,在 Java 中一般常用的有三个: Memcached Client for Java SpyMemcached XMemcached 他们的对比与性能我这里不讨论,想了解自己搜索查看,我这里使用的是 XMemcached ,据说它的并发效果更好一些. 地址:https://github.com/killme2008/xmemcached 一…
 道可道非常道,名可名非常名. Java自学之道博大精深,自己只是将理论和实际相结合,进行了简单总结. Java自学之道全文可在自己的博客下载 http://my.oschina.net/mkh/blog/340689…