第一篇:JAVA中的流概念
JAVA中的流概念
流机制是JAVA及C++中的一个重要的机制,通过流能使我们能自由地控制包括文件,内存,IO设备等等中的数据的流向。
如:可以从文件输入流中获取数据,经处理后再通过网络输出流把数据输出到网络设备上;或利用对像输出流把一个程序中的对象输出到一个格式流文件中,并通过网络流对象将其输出到远程机器上,然后在远程机器上利用对象输入流将对象还原。
像这些机制是别的高级语言所不能比拟的。但要掌握好这些流对象,流的概念是很重要的。
流是一串连续不继的数据的集合,就像水管里的水流,在水管的一端一点一点地供水,而在水管的另一端看到的是一股连续不断的水流。数据写入程序可以是一段一段地向数据流管道中写入数据,这些数据段会按先向顺序形成一个长的数据流。对数据的读取程序来说,看不到数据流在写入时的分段情况,每次可以读取其中的任意长度的数据,但只能先读取前面的数据后,再读取后面的数据。不管写入时是将数据分多次写入,还是作为一个整体一次写入,读取时的效果都是完全一样的。
在JAVA中的流按流动方向可以分为输入流及输出流两种,按流的处理位置可分为节点流和包装流。
输入流,输出流是以程序为参考点来说的,所谓的输入流就是程序从中获取数据的流,输出流就是程序要其写数据的流。在输入流的一边是程序,而另一边就是流的数据源。而输出流的一边则目标,一边就是程序。其实流可以想像成是一条长河,在上游有一水库提供水源,河边住着一户人,随时都可以从河边取到水,同时,这户人也可以把一些废水倒进河里,使得废水可以流进大海。这里所提到河就是一个数据的流动通道,而水库就好比是计算机上的一切数据源,包括磁盘文件,内存,IO设备,键盘等等,JAVA提供了非常完善的输入流类来把这些数据源挂接到流上使得程序能从这些输入流中获取所需的数据。河边上的用户就是程序,它能随时随地从流中取得数据,只要有数据源挂接到这个通道上可以。而大海就是程序处理完数据后要流向的目的地,这些目的地包抱磁盘文件,内存,IO设备,显示器等,这些目的地只是相对程序来说的,它们也可能是别的进程的输入流。
如下例子,将数据输出到别的文件,再从文件中读出数据
File f=new File(“1.test”);
Try
{
FileOutputStream out=new FileOutStream(f);
Byte buf[]=”hello world”.getBytes();
Out.write(buf);
Out.close();
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
try
{
FileInputStream in=new FileInputStream(f);
byte buf[]=new byte[1024];
int len=in.read(buf);
System.out.println(new String(buf,0,len));
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
程序用于直接操作目标设备所对应的类叫节点流类,程序也可以通过一个间接流类去调用节点流类,以达到更加灵活方便地读写各种类型的数据,这个间接流类就是包装流类。在JAVA中
第二篇:Java类库的概念
Java类库的概念
Java程序由类构成.一个Java程序口以写在若干个类中。用户在编写程序的过程巾要充分利用系统提供的类和方法。学习Java语言实际上包括了两个A面:一是学习用Java语言编写自己所需的类;另卟是学习如何利用Java类库中的类和方法。这样做具有如下优点:Java简明教程(第3版)如下·采用已有的类库编程,可以避免-一衅从头开始的编程工作。在软件工程中,使用现有的构件称为软件重用,这是面向对象程序设计巾的一个重要思想。·利用类库编程可以提高程序运行的性能。KEKMET钽电容类库中的类和方法都是经过严格检验的,无论是质量孟£是效率都比较高。利用类库编程,可以提高程序的可移植性,用为这些类和方法包含在适合所有平台的Java版本中。下面举例阐述Java和c/c+十的异同点。首先介绍C程序,对于一个C程序,其结构娄库的方珐
通过上述程序可以看到Java引用类库的方法,同时也可以看到,Java程序必须写在类中,这不同于程序,它们可以有孤立的函数存在。读者目前可能不了解该程序,随着学习的豫入,将逐渐掌握这种编程方法。网络浏览器Java程序在支持Java的网络浏览器上才能运行,支持Java的刚络浏览器很多,如公司等。日前市场的计算机基本都能保证这个条件。JDK是Oracle公司推出的JavaJava的类库、编洋器、解释器、运行时环境和命令行丁具等。提供程序的命令行编译和运行方式,但救有提供个集成开发环境(integrated IDE)。有很多公司提供的集成并发环境可供选择,它们都是建立在JDK的基础之上。
其中是一个开源的、可扩展的集成开发环境,可以用于Java、C/C++、PHP、Python、Ruby等程序的开发。贴片钽电容本身也是一个开发平台,可以通过扩展插件来扩展功能。Net13eans可以在多种操作系统一F台上运行,如Windows、,Mac OS以及Solaris荨。
右击“我的电脑”,在弹出的快捷菜单巾选择“属性”命令,在弹出的“系统特性”对话框中选择“高级”选项k.单击“环境变量”按钮,弹出“环境变昔”刈话框,如图1卜-3所示。狂“系统坐昔”列表框中选择Path变量,单击“编辑”按钮,弹出“编辑系统变量”对话框,如罔添加在“变量值”文本框的最后面。通常Windows中没有环境变量,需要新建。“环境变量”对话框中,单击KEMET钽电容“新建”按钮,在“编辑系统变量”对话框中,输入变量名,输入变量值这是Java类库的路径。
注意上述变量的值,其中定不能少,因为它代表当前路径。然后采用记事本编写一个简单的java程庠,来测试上述环境变量的设置是贴片钽电容否成功。简明教程(第3版)。载后得到的是一个可执行文件,这个文件的大小为145.28.VIB(这是个适用j Windows的版本,、%然你可以选择自己需要的其他操作系统版本)。安装过程比较简单。人们会自动安装。安装改软件以后(假设安装在c盘),在路径就有40个开发工具,主要丁具包括:多用途的存档及压缩町将多个文件合并为单个归档文件,与Zip压缩文件格式相同。Java程序执行T具。其接受宁节码class文件,启动Java虚拟机执行。Java编译器。将源文件编浑成字节码classT491A476M006AT文件。
根据Java源代码及其说明语句生成HTMI。文档。网页小程序applet的执行1=具。程序谰试工具。叮以运行执行程序、设詈断瓿和检查变量。通过s这个集成环境可以^便地编辑、编译、生成和运行Java程序。
上述复合软件包安装后,它能自动设置好程序开发环境和执行环境的一般路径,为了便于命令行程序的执行,我们再手动设置环境变量。针对Windows XP系统,设置步骤如下:右击“我的电脑”,在弹出的快捷菜单巾选择“属性”贴片钽电容命令,在弹出的“系统特性”对话框中选择“高级”选项k.单击“环境变量”按钮,弹出“环境变昔”对话框,狂“系统坐昔”列表框中选择Path变量,单击“编辑”按钮,弹出“编辑系统变量”对话框,如罔,将“添加在“变量值”文本框的最后面。通常Windows中没有环境变量,需要新建。
在图1-3所示的“环境变量”对话框中,单击“新建”按钮,在“编辑系统变量”对话框中,输入变量名,输入变量值这是Java类库的路径。
上述变量的值,其中一定不能少,因为它代表当前路径。然后采用记事本编写一个简单的java程庠,来测试上述环境变量的设置是否成功。选择菜单“运行”中的选择“运行主项目”,对Hello.java进行编译、T491D686K006AT运行,也可以直接按快捷键F6。若上述程序键人无误,那么经过编译,将在当前路径中生成字节码文件Hello.class,否则,必须修改错误后藿新编译。最后启动字节码解释器对Hello.class文件解释运行,在下面的输出窗口中显示运行结果。
上述程序执行后,请读者通过Windows贵源管理器观察文件夹,有助于理解包的概念。dycsm%ddz
第三篇:java 中io流概念
java 中io流概念
1.流的概念源于unix中管道(pipe)的概念,在unix中,管道是一条不间断的字节流,用来实现程序或进程间的通信,或读写外围设备,外部文件等。
2.一个流,必有源端和目的端,它们可以是计算机内存的某些区域,也可以是磁盘文件,甚至可以是internet上的某个url。
3.流的方向很重要,根据流的方向,流可分为两类:输入流和输出流。用户可以从输入流中读取信息,但不能写它。相反,对输出流,只能往输出流写,而不能读它。
4.实际上,流的源端和目的端可简单的看成是字节的生产者和消费者,对输入流,可不必关心它的源端是什么,只要简单地从流中读数据,而对输出流,也可不知道它的目的端只是简单的往流中写数据。
5.形象比喻,文件和程序之间连接一个管道,水流就在之间形成了,自然也就出现了方向:可以流进,也可以流出。流就是管道里的流水,这个管道连接了文件和程序。
6.java.io包中的类对应两类流:1.一类流直接从指定的位置(如磁盘文件或者内存区域)读或写,这类流称为结点流(nodestream)其他的流则称为过滤器(filters)。过滤器输入流往往是以其他输入流作为它的输入源,经过过滤或处理后在以新的输入流的形式提供给用户,过滤器输出流的原理也类似。
7.java的常用输入、输出流java.io包中的stream类根据它们操作对象的类型是字符还是字节分为两大类:字符流和字节流。
8.java的字节流inputstream是所有字节输入流的祖先,而outputstream是所有字节输出流的祖先。
9.java的字符流,reader是所有读取字符输入流的祖先,而writer是所有输出字符流的祖先。
10.关于字节流和字符流的区别:实际上字节流在操作的时候本身是不会用到缓冲区的,是文件本身的直接操作的,但是字符流在操作的时候是会用到缓冲区的,是通过缓冲区来操作文件的。(所有有时需要刷新缓冲区)。
11.使用字节流比使用字符流好,首先因为硬盘上的所有文件都是以字节的形式进行传输或者保存,包括图片等内容,但是字符只是在内存中才会形成,所以在开发中,字节流使用广泛。
12.对象序列化就是把一个对象变为二进制数据流的一种方法,一个类要想被序列化,就先必须实现java.io.serializable接口,虽然这个接口中没有任何方法就如同之前的cloneable接口一样,实现了这个接口之后,就表示这个类具有被序列化的能力。
第四篇:Java面向对象重要概念小结
http://www.teniu.cc(implements)其他接口。例如:
interface MyInterfc extends Runnable{ public void mthd();abstract int mthd2();} Duncan Network | 编程开发文档 2 / 2
第五篇:同学少年,中流击水
同学少年,中流击水
一段岁月,波澜壮阔,刻骨铭心;
一种精神,穿越历史,辉映未来。
“恰同学少年,风华正茂;书生意气,挥斥方遒。指点江山,激扬文字,粪土当年万户候。”
毛泽东用一道《沁园春·雪》,写出了当年他们在湘江之滨,橘子洲头中流击永的风华正茂,写出了他们指点江山的壮志豪情。而今,斯人已逝,但那一声“问苍茫大地,谁主沉浮”般的声音如龙吟虎啸,回荡在天地山川之间。
今日,读完《恰同学少年》一书,当年年青人站在高山之巅,凌空而立,俯豃山川,指点江山的画面会在心中豁然升腾起。《恰同学少年》一书以毛泽东等青年在湖南第一师范五年半的求学生活为主,用饱满情感的笔触展现了毛泽东、蔡和森、向警予、杨开慧、陶斯咏等一群青春激扬的同学少年为寻求理想而奋发向上的斗志,敢以天下为己任的抱负与情感,改造中国与世界的壮志雄心。
书中最触动我的就是当年的青年们身体力行、知行合一的精神。
陶斯咏20岁生日的时候,他们一群人在烈风骤雨、惊雷闪电中爬岳麓山,任凭风雨吹打着身体,感受从灵魂深处解放出来的自由。真正地,风,浴其体;雨,浴其身,烈风骤雨,浴其魂!当孔昭绥回到第一师范时,毛泽东提出了“文明其精神,野蛮其体魄”,他感受到易永畦之死是中国的教育没把体育放在眼里的教训。颜回、贾谊、王勃等古代才俊多短命,是毁于身体;古希腊的斯巴达人能以少胜多称雄希腊,是因他们不仅重视精神文明,更崇尚野蛮体魄。于是,一师的校园里出现了各有特色的体育小组,诸如“武术组”、“竞技组”等等。
1917的暑假,毛泽东与萧子升均未回归,受到《民报》上《两学生徒步漫游中国》的影响,二人决定出去走走。因为觉山川之胜,养大道于胸,以游为学,也是个长见识的好办法。当年太史公周游名山大川,遍访野叟隐老,亦有了煌煌《史记》。
书中关于这样知行合一,从实践中寻求真理的故事还有很多。日后,这些年青人能担起拯救中国的大任,我想也得益于此。如顾炎武所讲,欲从天下万物而学之,正当汗漫九垓,历游四宇,读无字之大书,方得真谛。
反观今日,我们今天很多的同学少年就如同温室里的花朵,没经历过烈风骤
雨,不知酸甜苦辣之味,所以进入社会时就经不起风雨的吹打。很多人太娇生惯养了,掌上明珠没经过烈火锤炼就容易破碎。如果这样,还谈什么立己呢,又如何齐家治国?
掩起书卷,心中还是久久不能平息:
忆往昔,昨日之同学少年中流击水,已成豪杰英雄!
看今朝,今日我少年学子风华正茂,乃为国之栋梁!