问题1:如何解决socket中如何处理DatainputStream的read方法读取堵塞?如果没有长时间数据进来如何让线程运行结束呢?大家看下代码哦,然后说下如何处理呢?
代码如下:
Socket 的 setSoTimeout() 方法必须在接收数据之前执行才有效. 此外, 当输入流的 read()方法抛出 SocketTimeoutException 后, Socket 仍然是连接的, 可以尝试再次读数据:
socket.setSoTimeout(180000);
byte[] buff = new byte[1024];
InputStream in = socket.getInputStream();
int len = -1;
len = in.read(buff);
//处理读到的数据
//.........
}catch(SocketTimeoutException e){
//e.printStackTrace();
System.out.println("等待读超时!");
len = 0;
}while(len != -1);
回答:你可以了解一下异步通信的NIO框架,如MINA,NETTY
问题2:类型 String 中的方法 format(String, Object[])对于参数(String, Date)不适用,怎么办呢?
具体是这样子:
package zjk;
import java.util.Date;
public class GetTime {
public static void main(String[] args) {
// TODO 自动生成的方法存根
Date date=new Date();
System.out.println("默认时间格式:"+date);
System.out.println("两位24小时制的小时:"+ String.format("%tH",date));
java中一般使用如下方式进行时间的格式化输出:
java.text.SimpleDateFormat df=new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println("两位24小时制的小时:"+ df.format(date)); 问题1:如何解决socket中如何处理DatainputStream的read方法读取堵塞?如果没有长时间数据进来如何让线程运行结束呢?大家看下代码哦,然后说下如何处理呢?代码如下:Socket 的 setSoTimeout() 方法必须在接收数据之前执行才有效. 此外, 当输入流的 read()方法抛出 SocketTimeoutException 后, Socket 仍然是连接的, 可  import java.io.File InputStream ; void read FileOnLine(){ String strFileName = “Filename.txt”; File InputStream fis = openFileInput(strFileName); String Buffer sBuffer = new String Buffer(); Data InputStream data IO = new Data InputStream (fis); String strLine = null; while((strLine = data IO.re
在使用 Data InputStream 时候,经常会使用到 read UTF来 读取 一段字符串,但是 read UTF是如何知道该字符串有多长的呢? 下面的例子是对 Data InputStream 的简单使用: package s1; import java.io.Buffered InputStream ; import java.io.BufferedOutputStream; import java.io...
Data InputStream read Boolean() 方法 ( Data InputStream Class read Boolean() method) read Boolean() method is available in java.io package. read Boolean() 方法 在java.io包中可用。 read Boolean() method is used to check...
JAVA Data InputStream & Data OutputStream 数据流中没有直接定义对 String 类型 方法 .为了解决 String 类型 使用字节byte写入. byte读出 FileOutputStream fileOutputStream = new FileOutputStream(test); Data OutputSt...
import java.util.*; public class FileTest { public void writeTest( String s1) throws IOException { int i=5; File f1=new File(s1); OutputStream os=new FileOu...
使用 Data InputStream Data OutputStream读写二进制文件.bin 使用PrintWriter写入文本文件请参考:https://blog.csdn.net/qq_43524683/article/details/99689599 使用Scanner和Buffered Read er 读取 文本文件请参考:https://blog.csdn.net/qq_43524683/art...
这里将会写入文字:代码:import java.io. Data OutputStream; import java.io.File InputStream ; import java.io.FileOutputStream; import java.io.IOException; public class Read AndWrite String public static void pintfHe...