1. 鲜为人知的replaceAll技巧
1System.out.println("foo[0]".replaceAll("\\[(\\d+)\\]", ".$1")); 2//输出: foo.0
2. 构建一个重复的字符串
1System.out.println(new String(new char[3]).replace("\0", "osc")); 2//输出: oscoscosc
3. 按行读取字符串
1BufferedReader br = new BufferedReader(new StringReader("osc1\r\nosc2\r\nosc3")); 2System.out.println(br.readLine()); 3System.out.println(br.readLine()); 4//输出: 5//osc1 6//osc2
4. 以指定编码从文件读取
1BufferedReader reader =new BufferedReader(new InputStreamReader(new FileInputStream("/home/joymufeng/file.txt"),"UTF-8")); 2reader.readLine();
5. 以指定编码写入文件
1Writer writer = new OutputStreamWriter(new FileOutputStream("/home/joymufeng/file.txt"), "UTF-8") 2writer.write("我是字符串!"); 3writer.flush(); 4writer.close();
也可以使用PrintWriter:
1PrintWriter out = new PrintWriter("/home/joymufeng/file.txt", "UTF-8"); 2out.print(true); 3out.print(3.14); 4out.printf("%d + %d = %d".format(1, 1, 2)); 5out.println("我是字符串"); 6out.flush(); 7out.close();
6. 输出汉字的特定字符集编码
1String code = new BigInteger(1, "你好".getBytes("utf-8")).toString(16); 2System.out.println(code);
输出:
e4bda0e5a5bd