黑马程序员技术交流社区
标题:
readLine()方法
[打印本页]
作者:
白倩
时间:
2011-10-31 20:04
标题:
readLine()方法
明白了之前写的程序为什么会一直的等待着,阻塞着不向下运行,readLine()方法,它是一个阻塞式方法,只有读到了回车换行符后才能运行后面的代码!
作者:
成杰
时间:
2011-10-31 20:31
是这样的!
作者:
刘福双
时间:
2011-10-31 20:54
刚好视频我也看到这里:
这事一个UDP数据接收端通过循环可以无限的接收数据,但是发送端必须发数据接收端才可以循环
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
public class asd {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
DatagramSocket ds = new DatagramSocket(8888);
while (true) {
byte[] buf = new byte[1024];
DatagramPacket dp = new DatagramPacket(buf, buf.length);
ds.receive(dp);//阻塞是方法
/*
* whlie循环中true可以无限循环
* 但是阻塞是方法可以让程序停止
* 并等到接收数据后在循环
*/
String ip=dp.getAddress().getHostAddress();
String data=new String(dp.getData(),0,dp.getLength());
int port=dp.getPort();
System.out.println(ip+"::"+data+"::"+port);
}
}
}
wait()方法也可以实现阻塞
作者:
田忠
时间:
2011-10-31 22:33
学习了,
作者:
邱本超老师
时间:
2011-11-1 12:33
模拟的readLine方法MyreadLine方法,读到\n才会返回
package io;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
//自定义的MyreadLine方法
class MyBufferedReader{
FileReader r=null;
public MyBufferedReader(FileReader r) {
super();
this.r = r;
}
public String MyreadLine() throws IOException{
int ch=0;
StringBuilder sb=new StringBuilder();
while((ch=r.read())!=-1){
if(ch=='\r'){
continue;
}
if(ch=='\n'){
return sb.toString();
}
else{
sb.append((char)ch);
}
}
if(sb.length()!=0){//如果文本文件最后一个没有回车,则直接返回
return sb.toString();
}
return null;
}
public void Myclose()throws IOException {
r.close();
}
}
public class MyBufferedReaderDemo {
public static void main(String[] args){
try {
FileReader fr=new FileReader("D:/javaworkplace/heima/src/io/FileReaderDemo2.java");
MyBufferedReader buf=new MyBufferedReader(fr);
String line=null;
try {
while((line=buf.MyreadLine())!=null){
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
finally{
try {
buf.Myclose();
} catch (IOException e) {
e.printStackTrace();
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
作者:
黄健
时间:
2011-11-1 12:55
当一个文本文件中最后一行没有换行符时,它也会返回的
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2