ServerSocket

在Java中,服务器程序的基本生命周期 使用一个ServerSocket()构造函数在一个特定端口创建一个新的ServerSocket。 ServerSocket使用其accept()方法监听这个端口的入站连接。accept()会一直阻塞,直到一个客户端尝试建立连接,此时accept()将返回一个连接客户端和服务器的Socket对象。 根据服务器的类型,会调用Socket的getInputStream()方法或getOutputStream()方法,或者这两个方法都调用,以获得与客户端通信的输入和输出流。 服务器和客户端根据已协商的协议交互,直到要关闭连接 服务器或客户端(或二者)关闭连接 服务器返回到步骤2,等待下一次连接     阅读全文
罗炜光's avatar
罗炜光 5月 12, 2016

Socket

基本操作Socket是两台主机之间的一个连接。它可以完成7个基本操作 连接远程机器 发送数据 接收数据 关闭连接 绑定端口 监听入站数据 在绑定端口上接收来自远程机器的连接 Java的Socket类提供了对应前4个操作的方法,后三个仅服务器需要,即等待客户端的连接     阅读全文
罗炜光's avatar
罗炜光 5月 11, 2016

URLConnection

基本步骤使用URLconnection类的程序遵循以下基本步骤 构造一个URL对象 调用这个URL对象的openConnection()获取一个对应URL的URLConnected对象 配置这个URLConnected 读取首部字段 获得输入流并读取数据 获得输出流并写入数据 关闭连接     阅读全文
罗炜光's avatar
罗炜光 5月 09, 2016

InetAddress

创建InetAddress对象 getByAddress(byte[] addr) static InetAddress 根据提供的IP地址创建 InetAddress getByAddress(String host, byte[] addr) static InetAddress 根据提供的主机名和IP地址创建 InetAddress getByName(String host) static InetAddress 根据提供的主机名创建 InetAddress getAllByName(String host) static InetAddress[] 在给定主机名的情况下,根据系统上配置的名称服务返回其 IP 地址所组成的数组。 getLocalHost() static InetAddress 返回本地主机 getLoopbackAddress() static InetAddress 返回回送地址,在Windows系统中,采用127.0.0.1     阅读全文
罗炜光's avatar
罗炜光 5月 08, 2016

Java与正则表达式

Pattern类 返回类型 方法名 解释 static Pattern compile(String regex) 将给定的正则表达式编译到模式中。 static Pattern compile(String regex, int flags) 将给定的正则表达式编译到具有给定标志的模式中。 int flags() 返回此模式的匹配标志。 Matcher matcher(CharSequence input) 创建匹配给定输入与此模式的匹配器。 static boolean matches(String regex, CharSequence input) 编译给定正则表达式并尝试将给定输入与其匹配。 String pattern() 返回在其中编译过此模式的正则表达式。 static String quote(String s) 返回指定 String 的字面值模式 String。 String[] split(CharSequence input) 围绕此模式的匹配拆分给定输入序列。 String[] split(CharSequence input, int limit) 围绕此模式的匹配拆分给定输入序列。 String toString() 返回此模式的字符串表示形式。     阅读全文
罗炜光's avatar
罗炜光 5月 04, 2016

JavaIO(四):文件操作

新建 /** * 新建文件 * @param path 绝对路径 * @return 新建成功返回ture,新建失败或以存在此文件返回false */ public static boolean newFile(String path) { File file = new File(path); file.getParentFile().mkdirs(); try { return file.createNewFile(); } catch (IOException e) { e.printStackTrace(); return false; } }     阅读全文
罗炜光's avatar
罗炜光 4月 30, 2016

JavaIO(三):Reader与Writer

InputStreamReaderpublic class Test { public static void main(String[] args) throws IOException { InputStreamReader isr = new InputStreamReader(new FileInputStream("E:\\Test11.txt")); //markSupported() boolean 判断此流是否支持 mark() 操作以及支持哪一项操作。 System.out.println("markSupported():" + isr.markSupported()); //ready() boolean 判断此流是否已经准备好用于读取。 System.out.println("ready():" + isr.ready()); //read() int 读取单个字符。 System.out.println("read():" + isr.read()); char[] chars1 = new char[26]; //read(char[] cbuf) int 将字符读入数组。 isr.read(chars1); System.out.println("read(char[] cbuf):" + new String(chars1)); char[] chars2 = new char[26]; //read(char[] cbuf, int off, int len) int 将字符读入数组的某一部分。 isr.read(chars2, 0, 13); System.out.println("read(char[] cbuf, int off, int len):" + new String(chars2)); //skip(long ns) long 将该流重置为最新的标记,如果从未标记过,则将其重置到该字符串的开头。 isr.skip(1); //close() void 关闭该流并释放与之关联的所有系统资源。 isr.close(); } }     阅读全文
罗炜光's avatar
罗炜光 4月 28, 2016

JavaIO(二):InputStream与OutputStream

ByteArrayInputStreampublic class Test { public static void main(String[] args) throws IOException { byte[] bytes1 = new byte[52]; for(int i = 0;i < bytes1.length;i++) { bytes1[i] = (byte) ('a' + i%26); } ByteArrayInputStream bais1 = new ByteArrayInputStream(bytes1); //skip(long n) long 从此输入流中跳过 n 个输入字节。 System.out.println("skip(long n):" + bais1.skip(256)); //available() int 返回可从此输入流读取(或跳过)的剩余字节数。 System.out.println("available():" + bais1.available()); //markSupported() boolean 测试此 InputStream 是否支持 mark/reset。 System.out.println("markSupported():" + bais1.markSupported()); //mark(int readAheadLimit) void 设置流中的当前标记位置。 bais1.mark(512); //read() int 从此输入流中读取下一个数据字节。 System.out.println("read():" + bais1.read()); byte[] bytes2 = new byte[512]; //read(byte[] int 从此输入流中将最多 b.length 个字节的数据读入一个 byte 数组中。 System.out.println("read(byte[]):" + bais1.read(bytes2)); System.out.println(new String(bytes2)); //read(byte[] b, int off, int len) int 将最多 len 个数据字节从此输入流读入 byte 数组。 System.out.println("read(byte[] b, int off, int len):" + bais1.read(bytes2, 0, 128)); System.out.println(new String(bytes2)); //reset() void 将缓冲区的位置重置为标记位置。 bais1.reset(); System.out.println("reset():" + bais1.available()); //close() void 关闭 ByteArrayInputStream bais1.close(); } }     阅读全文
罗炜光's avatar
罗炜光 4月 26, 2016

JavaIO(一):分类

    阅读全文
罗炜光's avatar
罗炜光 4月 25, 2016

URI、URL

概述URI(uniform resource identifier)统一资源标识符URL(uniform resource locator)统一资源定位器 URL是URI的一种,不仅标识了Web 资源,还指定了操作或者获取方式,同时指出了主要访问机制和网络位置 ●在Java类库中,URI类不包含任何访问资源的方法,它唯一的作用就是解析。相反的是,URL类可以打开一个到达资源的流。因此URL类只能作用于那些 Java类库知道该如何处理的模式,例如http:,https:,ftp:,本地文件系统(file:),和Jar文件(jar:)。     阅读全文
罗炜光's avatar
罗炜光 4月 19, 2016