代码改变世界

随笔分类 -  Java编程语言

Java线程的创建和启动

2012-08-25 13:42 by javaspring, 778 阅读, 收藏,
摘要: Java线程的线程创建有三种方法1.继承Thread类创建线程2.实现Runnable接口创建线程3.使用Callable和Future创建线程其中第一种和第二种是老生常谈了,这里就不多说了,我主要介绍第三种方法从Java5开始Java提供Callable接口,该接口怎么看都像是Runnable接口的增强版,Callable接口提供一个call方法可以作为线程的执行体,但call()方法比run()方法功能更强大。call()方法可以有返回值。call()方法可以声明抛出异常。Java5提供了Future接口来代表Callable接口里call()方法的返回值,并为Future接口提供一个Fu 阅读全文

Java访问文件属性

2012-08-22 21:20 by javaspring, 661 阅读, 收藏,
摘要: Java的File类提供了访问文件的属性,但File提供的功能有限。Java7的NIO.2在java.nio.file.attribbute包下提供了大量的工具类,通过这些工具类,开发者可以非常简单地读取,修改文件属性,这些工具类主要分为以下两类。XxxAttributeView:代表某种文件属性的视图。XxxAttributes:代表某种文件属性的集合,程序一般通过XxxAttributeView对象获取XxxAttributes。下面我只介绍两种,其实还有很多。BasicFileAttributeView:它可以获取或修改文件的基本属性,包括文件的最后修改时间,最后访问时间,创建时间,大小 阅读全文

Java监控文件变化

2012-08-22 20:28 by javaspring, 1563 阅读, 收藏,
摘要: NIO.2的Path类提供了如下的一个方法来监听文件系统的变化。register(WatcherService watcher,WatchEvent.Kind<?>... events):用watcher监听该path代表的目录下文件变化。event参数指定要监听哪些类型的事件。WatchService有三个方法来监听目录的文件变化事件。WatchKey poll():获取下一个WatchKey,如果没有WatchKey发生就立即返回null;WatcheKey poll(long timeout,TimeUnit unit):尝试等待timeout时间去获取下一个WatchKey 阅读全文

Java7遍历文件夹

2012-08-22 20:03 by javaspring, 461 阅读, 收藏,
摘要: Java遍历文件夹的方法有多种,之前我写了一种遍历文件夹的方法点击,使用File类的方法递归遍历,这次是使用Java7提供的新的方法遍历文件夹。File提供两个方法遍历文件夹,上面两个方法都需要FileVisitor参数,FileVisitor代表一个文件访问器,walkFileTree()方法会自动遍历start路径下的所有文件和子目录,遍历文件和子目录都会触发FileVisitor中相应的方法。这四个方法在下面的代码中出现。FileVisitor中的四个方法会返回一个FileVisitorResult,它代是一个枚举类,代表访问之后的行为。FileVisitor定义了如下几种行为:CONT 阅读全文

Java字符集

2012-08-22 16:05 by javaspring, 498 阅读, 收藏,
摘要: 通常而言,把明文的字符序列转换成计算机能理解的二进制序列称为编码,把二进制序列转换成普通人能看懂的明文字符串称为解码。JDK1.4提供了Charset来处理字节序列和字符序列之间的转换关系,该类包含了用于创建解码器和编码器的方法,还提供了Charset所支持的字符集的方法,Charset类是不可变的。Charset类提供了一个availableCharset()的静态方法来获取当前JDK所支持的所有字符集,下面小试牛刀import java.nio.charset.Charset; import java.util.SortedMap; public class Test { public . 阅读全文

Java RandomAccessFile的使用

2012-08-21 16:15 by javaspring, 223 阅读, 收藏,
摘要: Java的RandomAccessFile提供对文件的读写功能,与普通的输入输出流不一样的是RamdomAccessFile可以任意的访问文件的任何地方。这就是“Random”的意义所在。RandomAccessFile的对象包含一个记录指针,用于标识当前流的读写位置,这个位置可以向前移动,也可以向后移动。RandomAccessFile包含两个方法来操作文件记录指针。long getFilePoint():记录文件指针的当前位置。void seek(long pos):将文件记录指针定位到pos位置。RandomAccessFile包含InputStream的三个read方法,也包含Outp 阅读全文

Java虚拟机读写其他进程的数据

2012-08-21 15:30 by javaspring, 220 阅读, 收藏,
摘要: 使用Runtime对象的exec()方法可以获得其他进程的Process对象,Process对象代表由该Java程序启动的子进程,Process类提供了如下3个方法,用于让程序和其子进程进行通讯。InputStream getErrorStream():获取子进程的错误流InputStream getInputStream():获取子进程的输入流OutputStream getOutputStream():获取子进程的输出流下面的代码实现了获取子进程的错误输出import java.io.BufferedReader;import java.io.InputStreamReader;publi 阅读全文

Java重定向标准输入/输出

2012-08-21 14:53 by javaspring, 1184 阅读, 收藏,
摘要: Java的标准输入/输出分别通过System.in和System.out来代表,在默认的情况下分别代表键盘和显示器,当程序通过System.in来获得输入时,实际上是通过键盘获得输入。当程序通过System.out执行输出时,程序总是输出到屏幕。在System类中提供了三个重定向标准输入/输出的方法static void setErr(PrintStream err) 重定向“标准”错误输出流static void setIn(InputStream in) 重定向“标准”输入流static void setOut(PrintStream out)重定向“标准”输出流下面程序通过重定向标准输出 阅读全文

Java正则表达式

2012-08-18 15:20 by javaspring, 348 阅读, 收藏,
摘要: 正在学习Java正则表达式,我哥人感觉有难度,反正书看完了就全忘记了,还是要做一下笔记。还是从最基础开始吧。下面是从网上找来的资料,贡以后看的,当然,直接复制粘贴的。////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////众所周知,在程序开发中,难免会遇到需要匹配、查找、替换、判断字符串的情况发生,而这些情况有时又比较复杂,如果用纯编码方式解决,往往会浪费程序员的时间及精力。因此,学习及使 阅读全文

BigDecimal类的使用

2012-08-16 22:55 by javaspring, 293 阅读, 收藏,
摘要: 在使用float和double的时候会发生精度丢失,而BigDecimal类就是为了处理精度的问题。BigDecima类的构造方法有BigDecimal(double avl)这个构造方法不推荐,同样会造成精度丢失,可以使用BigDecimal(String val)。下面测试一下BigDecimal的用法import java.math.BigDecimal;public class Test { public static void main(String[] args) throws Exception { BigDecimal b1=new BigDecimal("0.438 阅读全文

Java中的Random类

2012-08-16 22:24 by javaspring, 399 阅读, 收藏,
摘要: Java中的Random类用于产生随机数的,说的准确点是伪随机数。它有构造方法,一个不带参数,一个以一个long型的参数作为种子。Random使用一个48位的种子,如果两个Random类的实例是同一个种子创建的额,对它们以同样的顺序调用,将会参数同样的随机数import java.util.Random;public class Test { public static void main(String[] args) throws Exception { Random r1=new Random(45); Random r2=new Random(45); System.... 阅读全文

Java Runtime类

2012-08-16 22:06 by javaspring, 259 阅读, 收藏,
摘要: RunTime类代表Java程序的运行时环境,每一个Java程序都有一个与之对应的Runtime实例,应用程序通过该对象与运行时环境相连,应用程序不能创建自己的Runtime实例,但可以通过getRuntime()方法获得与之关联的Runtime对象。Runtime代表Java程序的运行时环境,可以访问JVM的相关信息,如处理器数量,内存信息。import java.io.BufferedReader;import java.io.InputStreamReader;public class Test { public static void main(String[] args) throw 阅读全文

Java获取用户的输入

2012-08-16 21:50 by javaspring, 380 阅读, 收藏,
摘要: Java获取用户的输入可以使用Scanner和流的方式,在这里我介绍两种方法1.使用Scannerimport java.util.Scanner; public class Test { public static void main(String[] args) { Scanner sc=new Scanner(System.in); while(sc.hasNext()) { System.out.println("输出:"+sc.next()); } } } 使用Scanner的方式获取用户的输入的话,Scanner默认使用空格,Tab,回车作为输入项... 阅读全文