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

File、FileFilter、FilenameFilter

概述FileFilter和FilenameFilter都是文件过滤器,都是一个接口,只有方法accept(),accept返回true表示符合所需文件标准,要过滤掉的文件则返回false     阅读全文
罗炜光's avatar
罗炜光 4月 17, 2016

String、StringBuffer、StringBuilder

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

Effective Java

1. 考虑用静态工厂方法代替构造器优点: 拥有名称,更容易识别 不必每次调用时,都创建一个新的对象 可以返回返回类型的任何子类型对象 使代码更简洁 缺点: 类如果不含共有的或者受保护的构造器,就不能被子类化。 它们与其他的静态方法实际上没有任何区别。 应用: 服务提供者框架     阅读全文
罗炜光's avatar
罗炜光 4月 08, 2016

线程池简介

一个线程的生命周期由三方面组成 创建线程的时间 线程执行的时间 执行销毁的时间 那么只要这三方面中的某一个所需的时间减少,就能够提高程序的性能而线程池技术就是缩短创建与销毁线程的时间。     阅读全文
罗炜光's avatar
罗炜光 3月 26, 2016