本章主要介绍下用户与机器交互的常用方法和一些常用类,还有些正则表达式和国际化的介绍。
首先介绍下运行java程序的参数,eg
- public class TestArgs
- {
- public static void main(String[] args)
- {
- System.out.println(args.length);
- for (String arg : args)
- {
- System.out.println(arg);
- }
- }
- }
在命令行运行上面程序 java TestArgs aaa "bbb ccc"。
大家运行了这个程序就知道怎么用了,我就不多说了,主要记住用双引号括起来的表示一个参数。
下面讲Scanner获取键盘输入,
- public class TestScannerKeyBoard
- {
- public static void main(String[] args)
- {
-
- Scanner sc = new Scanner(System.in);
-
-
-
- while(sc.hasNext())
- {
-
- System.out.println("键盘输入的内容是:" + sc.next());
- }
- }
- }
我还讲个Scanner获取文件输入
- public class TestScannerFile
- {
- public static void main(String[] args) throws Exception
- {
-
- Scanner sc = new Scanner(new File("a.txt"));
- System.out.println("a.txt文件内容如下:");
-
- while(sc.hasNextLine())
- {
-
- System.out.println(sc.nextLine());
- }
- }
- }
Scanner是1.5新出来的类,以前都是使用BufferedReader,eg
- public class TestBufferedReader
- {
- public static void main(String[] args) throws Exception
- {
-
- BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
- String buffer = null;
-
- while ((buffer = br.readLine()) != null)
- {
- System.out.println("用户键盘输入是:" + buffer);
- }
- }
- }
InputStreamBuffer用来将输入的数据包装成字符流。
System和Runtime类也是java重要的类,先举个System的例子,eg
- public class TestSystem
- {
- public static void main(String[] args) throws Exception
- {
-
- Map<String,String> env = System.getenv();
- for (String name : env.keySet())
- {
- System.out.println(name + " ------> " + env.get(name));
- }
-
- System.out.println(System.getenv("JAVA_HOME"));
-
- Properties props = System.getProperties();
-
- props.store(new FileOutputStream("props.txt") , "System Properties");
-
- System.out.println(System.getProperty("os.name"));
- }
- }
属性过多我就不一一介绍了。
System类提供获得JVM运行时的信息,用的最多的还是用它来调用操作系统的命令。eg
- public class TestExec
- {
- public static void main(String[] args)throws Exception
- {
- Runtime rt = Runtime.getRuntime();
- rt.exec("notepad.exe");
- }
- }
StringBuilder是1.5后新出来的类他与StringBuffer的区别就是StringBuilder效率高但线程不安全,eg
- public class TestStringBuilder
- {
- public static void main(String[] args)
- {
- StringBuilder sb = new StringBuilder();
-
- sb.append("java");
-
- sb.insert(0 , "hello ");
-
- sb.replace(5, 6, ",");
-
- sb.delete(5, 6);
- System.out.println(sb);
-
- sb.reverse();
- System.out.println(sb);
- System.out.println(sb.length());
- System.out.println(sb.capacity());
-
- sb.setLength(5);
- System.out.println(sb);
- }
- }