??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲精品欧美在线,一区二区三区不卡视频在线观看,亚洲制服av http://www.aygfsteel.com/mirenxiaoxiao/archive/2011/01/18/343177.htmlqhW笑 qhW笑 Tue, 18 Jan 2011 14:26:00 GMT http://www.aygfsteel.com/mirenxiaoxiao/archive/2011/01/18/343177.html http://www.aygfsteel.com/mirenxiaoxiao/comments/343177.html http://www.aygfsteel.com/mirenxiaoxiao/archive/2011/01/18/343177.html#Feedback 0 http://www.aygfsteel.com/mirenxiaoxiao/comments/commentRss/343177.html http://www.aygfsteel.com/mirenxiaoxiao/services/trackbacks/343177.html 刚学 java技?/span>IO~程Ӟ一下出来这么多,很是不敏感,不感冒,在学习了q段旉Q发现好多项目中的读写数据,输入输出用到的都是以前学的最基本的,但是自己却不是很理解其根本,今天p几个中单但又常用的几个知识?/span>
Java.io包中定义了多个流cdQ来实现输入输出功能Q?/span>
按数据流的方向不同可以分入流和输出流?/span>( 以程序的角度来考虑 )
如:输入?/span>InputStream Reader 输出?/span> OutputStream Writer
按处理数据单位不同可以分为字节流和字W流?/span>
?/span>: 字节?/span> InputStream OutputStream 字符?/span> Reader Writer
按照功能不同可以分ؓ节点和处理?/span>
通俗的说节点就是一个简单的输入输出,而处理流?#8220;q接”在已存在的字节流或处理流之上的,通过Ҏ据的处理为程序提供更为强大的d功能?/span>
我们最l常用到的节Ҏcd是有x件处理的?/span>FileReader FileWriter FileInputStream FileOutputStream
Ø FileInputSteam ?/span> FileOutputStream cL持其父类 InputStream ?/span>OutputStream 所提供的数据读写方法?/span>
Ø 注意Q?/span>
§ 在实例化 FileInputStream?/span>FileOutputSteam 时要用 tryQ?/span>catch 语句以处理其可能抛出?/span>FileNotFoundException ?/span>
§ 在读写数据时也要?/span>try Q?/span>catch 语句以处理可能抛出的 IOException?/span>
§ FileNotFoundException ?/span>IOException 的子c?/span>
FileReader ?/span> FileWriter 分别l承?/span>Reader ?/span>Writer Q?/span>FileInputSteam ?/span>FileOutputStream cMQ所不同的时 FileReader?/span>FileWriter 向文件输入和输出的数据单位ؓ字符?/span>
处理中常用到的有缓冲流 、{换流?/span>
l ~冲有 BufferedReader BufferedWriter BufferedInputStream BufferedOutputStream ,~冲要“套接”在相应的节点之上,对读写的数据提供了缓冲的功能Q提高了d的效率,同时增加了一些新的方?/span>
l BufferedReader 提供?/span>readLine Ҏ用于d一行字W串Q以 "r?/span>"n ?/span> 隔)?/span>
l BufferedWriter 提供?/span>newLine 用于写入一个行分隔W?/span>
l 对于输出的缓冲流Q写出的数据会先在内存中~存Q?/span>flush Ҏ会使内存中的数据立d出?/span>
?/span>Socket ~程中接受信息时Q不是直接用 InputStream接收Q而是把内Ҏ入缓冲之中进行读?/span> Q在Socket中的单应用如?br />
package com.dr.Echo;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;
public class EchoServer {
/** */ /**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
ServerSocket server = null ;
PrintStream out = null ;
BufferedReader buf = null ;
server = new ServerSocket( 9999 );
Socket client = null ;
while ( true ) {
// 不断接收数据
client = server.accept();
// 准备好像客户端输出内?/span>
out = new PrintStream(client.getOutputStream());
// 而且客户端要有输入给服务器端
buf = new BufferedReader( new InputStreamReader(client.getInputStream()));
// 下面先给Z个完整的信息提示
out.println( " 您好Q欢q光_http://wwww.tstc.edu.cn " );
out.println( " 输入bye表示退出哈- " );
while ( true ) {
// 接受客户端发送而来的内?/span>
String str = buf.readLine();
System.out.println( " client's data is " + str);
if (str == null ) {
// 如果str为空pC退?/span>
break ;
} else {
// 如果输入的是bye则表C是退出系l?/span>
if ( " bye " .equals(str)) {
break ;
}
out.println(" xiaoxiao: " + str);
}
}
out.close();
buf.close();
client.close();
}
}
}
package com.dr.Echo;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.net.Socket;
import java.net.UnknownHostException;
public class EchoClient {
/** */ /**
* @param args
* @throws IOException
* @throws UnknownHostException
*/
public static void main(String[] args) throws UnknownHostException, IOException {
// TODO Auto-generated method stub
Socket client = null ;
BufferedReader buf = null ;
PrintStream out = null ;
client = new Socket( " 127.0.0.1 " , 9999 );
buf = new BufferedReader( new InputStreamReader(client.getInputStream()));
System.out.println(buf.readLine());
System.out.println(buf.readLine());
BufferedReader in = new BufferedReader( new InputStreamReader(System.in));
String userInput = null ;
out = new PrintStream(client.getOutputStream());
while ((userInput = in.readLine()) != null ) {
out.println(userInput);
System.out.println(buf.readLine());
}
out.close();
in.close();
client.close();
}
}
转换?/span>InputStreamReader OutputStreamWriter 用于字节数据到字W数据之间的转换。其?/span>InputStreamReader 需要和 InputStream”套接 ”Q?/span>OutputStreamWriter 需要和 OutputStream套接
数据?/span>DataInputStream DataOutputStream 提供了可以存取与机器无关?/span>java 原始数据cd
l Print : PrintWriter?/span>PrintStream 都属于输出流Q分别针对与字符和字节, PrintWriter?/span>PrintStream 提供了重载的 printQ?/span>Println Ҏ用于多种数据cd的输出?/span>PrintWriter ?/span>PrintStream 的输出操作不会抛出异常,用户通过错误状态获取错误信息?/span>PrintWriter ?/span>PrintStream 有自?/span>flush 功能
l
q几个流的类型都是在以后的学习中l常用到的。就不一一做例子啦
以后所学到的所有流cd都是l承 InputStream OutputStream Reader Writer q四个抽象的类?/span>
]]>java中构造方法和Ҏ全面解析 http://www.aygfsteel.com/mirenxiaoxiao/archive/2010/11/12/337918.htmlqhW笑 qhW笑 Fri, 12 Nov 2010 08:43:00 GMT http://www.aygfsteel.com/mirenxiaoxiao/archive/2010/11/12/337918.html http://www.aygfsteel.com/mirenxiaoxiao/comments/337918.html http://www.aygfsteel.com/mirenxiaoxiao/archive/2010/11/12/337918.html#Feedback 1 http://www.aygfsteel.com/mirenxiaoxiao/comments/commentRss/337918.html http://www.aygfsteel.com/mirenxiaoxiao/services/trackbacks/337918.html 阅读全文 ]]> java中消费者与生者的问题实例解析 http://www.aygfsteel.com/mirenxiaoxiao/archive/2010/11/10/337765.htmlqhW笑 qhW笑 Wed, 10 Nov 2010 15:07:00 GMT http://www.aygfsteel.com/mirenxiaoxiao/archive/2010/11/10/337765.html http://www.aygfsteel.com/mirenxiaoxiao/comments/337765.html http://www.aygfsteel.com/mirenxiaoxiao/archive/2010/11/10/337765.html#Feedback 1 http://www.aygfsteel.com/mirenxiaoxiao/comments/commentRss/337765.html http://www.aygfsteel.com/mirenxiaoxiao/services/trackbacks/337765.html 阅读全文 ]]> java-医院病h排队挂号ȝ叫号z小pȝ http://www.aygfsteel.com/mirenxiaoxiao/archive/2010/11/02/336824.htmlqhW笑 qhW笑 Tue, 02 Nov 2010 08:51:00 GMT http://www.aygfsteel.com/mirenxiaoxiao/archive/2010/11/02/336824.html http://www.aygfsteel.com/mirenxiaoxiao/comments/336824.html http://www.aygfsteel.com/mirenxiaoxiao/archive/2010/11/02/336824.html#Feedback 1 http://www.aygfsteel.com/mirenxiaoxiao/comments/commentRss/336824.html http://www.aygfsteel.com/mirenxiaoxiao/services/trackbacks/336824.html 阅读全文 ]]> java银行排队pȝ单程?/title> http://www.aygfsteel.com/mirenxiaoxiao/archive/2010/11/01/336630.htmlqhW笑 qhW笑 Mon, 01 Nov 2010 05:22:00 GMT http://www.aygfsteel.com/mirenxiaoxiao/archive/2010/11/01/336630.html http://www.aygfsteel.com/mirenxiaoxiao/comments/336630.html http://www.aygfsteel.com/mirenxiaoxiao/archive/2010/11/01/336630.html#Feedback 0 http://www.aygfsteel.com/mirenxiaoxiao/comments/commentRss/336630.html http://www.aygfsteel.com/mirenxiaoxiao/services/trackbacks/336630.html 阅读全文 ]]> java控制台输出简单登入小E序 http://www.aygfsteel.com/mirenxiaoxiao/archive/2010/10/20/335701.htmlqhW笑 qhW笑 Wed, 20 Oct 2010 08:33:00 GMT http://www.aygfsteel.com/mirenxiaoxiao/archive/2010/10/20/335701.html http://www.aygfsteel.com/mirenxiaoxiao/comments/335701.html http://www.aygfsteel.com/mirenxiaoxiao/archive/2010/10/20/335701.html#Feedback 0 http://www.aygfsteel.com/mirenxiaoxiao/comments/commentRss/335701.html http://www.aygfsteel.com/mirenxiaoxiao/services/trackbacks/335701.html package com.dr.exercise6;
import java.util.Scanner;
public class Login {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.println( " 误入用户名Q?/span>" );
String name = s.nextLine();
System.out.println( " 误入密码: " );
String password = s.nextLine();
if (name.equals( " abc " ) && password.equals( " 123 " )) {
System.out.println( " Ƣ迎dQ! " );
}
else {
System.out.println( " 用户名或密码不正!Q?/span>" );
}
}
}
用户名密码输入正时Q?img border="0" alt="" src="http://www.aygfsteel.com/images/blogjava_net/mirenxiaoxiao/1234.jpg" width="683" height="156" />
用户名或密码输入不正时Q?img border="0" alt="" src="http://www.aygfsteel.com/images/blogjava_net/mirenxiaoxiao/156.jpg" width="687" height="156" />
]]>java中String s = new String("abc")创徏了几个对象?Q?/title> http://www.aygfsteel.com/mirenxiaoxiao/archive/2010/10/18/335457.htmlqhW笑 qhW笑 Mon, 18 Oct 2010 06:32:00 GMT http://www.aygfsteel.com/mirenxiaoxiao/archive/2010/10/18/335457.html http://www.aygfsteel.com/mirenxiaoxiao/comments/335457.html http://www.aygfsteel.com/mirenxiaoxiao/archive/2010/10/18/335457.html#Feedback 0 http://www.aygfsteel.com/mirenxiaoxiao/comments/commentRss/335457.html http://www.aygfsteel.com/mirenxiaoxiao/services/trackbacks/335457.html
String s = new String("abc");
首先我们要明白两个概念,引用变量和对象,对象一般通过new在堆中创建,s只是一个引用变量?br />
所有的字符串都是String对象Q由于字W串文字的大量用,java中ؓ了节省时_在编译阶D,会把字符串文字放在文字池中,文字池的一个好处就是可以把相同的字W串合ƈQ占用一个空_我们可以?=判断一下两个引用变量是否指向了一个地址即一个对?br />
public class Demo02 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String s1 = " abc " ;
String s2 = " abc " ;
if ( s1 == s2 ) System.out.println( " s1,s2 refer to the same object " );
else System.out.println( " trouble " );
}
}
输出l果为:
可以看出指向了一个对象,x字池中保存了一个对象?br />
二、String s = new String("abc")实际上是"abc"本n是文字池中的一个对象,在运?new String()Ӟ把文字池即pool中的字符?abc"复制到堆中,q把q个对象的应用交lsQ所以创Z两个String对象Q一个在pool中,一个在堆中。下面看q个E序Q创Z几个对象?br />
public class Demo03 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String s1 = new String( " abc " ) ;
String s2 = new String( " abc " ) ;
if ( s1 == s2 ) { // 不会执行的语句}
System.out.println( " 在堆中创Z一个对?/span>" );
}
else {
System.out.println( " 在堆中创Z两个对象 " );
}
}
}
输出l果为:
可知在堆中创Z两个对象Q但是在文字池中有一个对象,所以共创徏了三个对象?br />
三、再看下一个例子:
public class Demo04 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String s = new String( " abc " );
s = " cba " ;
System.out.println(s);
}
}
输出l果为:
String s = new String("abc")q不是给s赋|而是把字W串"abc"的引用交ls持有Q现在把s指向字符?cba"Q?cba"的引用地址?abc"的引用地址覆盖Q所以输出结果ؓcba
最后这个输出结果的解释Q希望大家指ZIQ?br />
]]> 公司员工信息输出java程?/title> http://www.aygfsteel.com/mirenxiaoxiao/archive/2010/10/15/335275.htmlqhW笑 qhW笑 Fri, 15 Oct 2010 14:47:00 GMT http://www.aygfsteel.com/mirenxiaoxiao/archive/2010/10/15/335275.html http://www.aygfsteel.com/mirenxiaoxiao/comments/335275.html http://www.aygfsteel.com/mirenxiaoxiao/archive/2010/10/15/335275.html#Feedback 0 http://www.aygfsteel.com/mirenxiaoxiao/comments/commentRss/335275.html http://www.aygfsteel.com/mirenxiaoxiao/services/trackbacks/335275.html
数据成员Q员工号Q姓名,薪水Q部门;
ҎQ?br />
利用构造方法完成设|信?
A.单参Q只传递员工号Q?br />
B.双参Q只传递员工号、姓名;
C.四参Q传递员工号、姓名、薪水、部门;
D.无参Q则均ؓI|
mainҎ中创Z个对象,分别q行验证?br />
package com.dr.computer;
public class Worker {
private String id;
private String name;
private float salary;
private String department;
public Worker(String n) {
this .setId(n);
this .setName( " 无名?/span>" );
this .setSalary( 0.0f );
this .setDepartment( " 未定 " );
}
public Worker(String n,String na) {
this .setId(n);
this .setName(na);
this .setSalary( 1000 );
this .setDepartment( " 后勤 " );
}
public Worker (String n,String na, float sa,String dep) {
this .setId(n);
this .setName(na);
this .setSalary(sa);
this .setDepartment(dep);
}
public Worker() {
}
public String getId() {
return id;
}
public void setId(String n) {
this .id = n;
}
public String getName() {
return name;
}
public void setName(String name) {
this .name = name;
}
public float getSalary() {
return salary;
}
public void setSalary( float f) {
if (f > 0.0f ) {
this .salary = f;
}
}
public String getDepartment() {
return department;
}
public void setDepartment(String department) {
this .department = department;
}
public void showWorker() {
System.out.println( " 员工信息为: " );
System.out.println( " \t+--我的IdP " + id);
System.out.println( " \t+--我的名字Q?/span>" + name);
System.out.println( " \t+--我的工资Q?/span>" + salary);
System.out.println( " \t+--我的部门Q?/span>" + department);
}
}
package com.dr.computer;
public class WorkerTest {
public static void main(String[] args) {
Worker w1 = new Worker( " 0001 " , " 泉水 " );
Worker w2 = new Worker( " 0002 " , " 阛_ " , 1000.0f , " 公关?/span>" );
w1.showWorker();
w2.showWorker();
}
}
]]> java中类和对象的关系 http://www.aygfsteel.com/mirenxiaoxiao/archive/2010/10/15/335234.htmlqhW笑 qhW笑 Fri, 15 Oct 2010 07:13:00 GMT http://www.aygfsteel.com/mirenxiaoxiao/archive/2010/10/15/335234.html http://www.aygfsteel.com/mirenxiaoxiao/comments/335234.html http://www.aygfsteel.com/mirenxiaoxiao/archive/2010/10/15/335234.html#Feedback 0 http://www.aygfsteel.com/mirenxiaoxiao/comments/commentRss/335234.html http://www.aygfsteel.com/mirenxiaoxiao/services/trackbacks/335234.html
cL一个抽象的概念Q对象则是类的具体实例,是真实的个体Q比如h是一个类Q张三、李四等是一个个真实?/p>
具体的个体对象,人有具备所有hc通用的特征,但不能确定是哪个人,张三、李四等有具体的特征Q比如n高性别Q即
属性。类一U看不见怸着的东西,对象?#8220;有血有肉”的实物?br />
现实生活中到处皆对象Q比如一辆汽车,一栋房子,一台电脑,一只猫?br />
面向对象h装、ѝ多态三大特征。封装,即属性用private修饰对外部不可见Q承,如hQ有老h、小?/p>
、男人、女人,他们都是人的子类。多态包括方法的重蝲和对象的多态性,Ҏ的重载就是方法名相同Q但参数和类型不
同的ҎQ多态,即h分ؓ老hQ小孩,男hQ女人等?/p>
]]> java堆栈存取实例讲?/title> http://www.aygfsteel.com/mirenxiaoxiao/archive/2010/10/13/334980.htmlqhW笑 qhW笑 Wed, 13 Oct 2010 00:33:00 GMT http://www.aygfsteel.com/mirenxiaoxiao/archive/2010/10/13/334980.html http://www.aygfsteel.com/mirenxiaoxiao/comments/334980.html http://www.aygfsteel.com/mirenxiaoxiao/archive/2010/10/13/334980.html#Feedback 3 http://www.aygfsteel.com/mirenxiaoxiao/comments/commentRss/334980.html http://www.aygfsteel.com/mirenxiaoxiao/services/trackbacks/334980.html
现在用一个小实例来感受一下java的堆栈存取,代码如下Q?br />
public class Person {
String name;
int age;
public static void main(String[] args) {
Person p1 = new Person();
Person p2 = null ;
p2 = p1;
p1.name = " 张三 " ;
p1.age = 23 ;
p2.name = " 李四 " ;
p2.age = 24 ;
p1.say();
p2.say();
}
void say() {
System.out.println( " 我的名字是: " + name + " q龄 Q?/span>" + age);
}
q行l果如下Q我的名字是Q李四年?Q?4
我的名字是:李四q龄 Q?4
可用d来表C其堆栈的存取:其中李四把张三给覆盖啦?br />
修改代码如下Q?
public class Person {
String name;
int age;
public static void main(String[] args) {
Person p1 = new Person();
Person p2 = new Person();
p2 = p1;
p1.name = " 张三 " ;
p1.age = 23 ;
p2.name = " 李四 " ;
p2.age = 24 ;
p1.say();
p2.say();
}
void say() {
System.out.println( " 我的名字是: " + name + " q龄 Q?/span>" + age);
}
}
q行l果也是Q我的名字是Q李四年?Q?4
我的名字是:李四q龄 Q?4
其堆栈存取用d表示如下Q其中李四把张三l覆盖啦
p2先断开自己原先的堆指向Q再指向p1的指向,原先的堆I间被释放?br />
]]>
վ֩ģ壺
ϲ |
ҳ |
|
|
ţ |
ɫ |
÷ӿ |
ն |
°Ͷ |
|
|
³ɽ |
״ |
|
ӡ |
|
|
|
Ϫ |
۽ |
|
|
ľ˹ |
ɽ |
|
|
|
˾ |
|
|
|
|
ϰ |
٤ʦ |
ʶ |
Ѱ |
|
|
ͺ |
ɽ |
ͷ |