====== Java ====== ===== 環境変数の参照 ===== import java.util.Map; public class Getenv{ public static void main(String args[]){ for (Map.Entry env : System.getenv().entrySet()) { System.out.println(env.getKey() + " : " + env.getValue()); } } } ===== 変数ダンプ ===== import org.apache.commons.lang.builder.ToStringBuilder; public class VarDump{ public static void main(String args[]){ System.out.println(ToStringBuilder.reflectionToString(args)); } } ===== ファイル入出力 ===== import java.io.FileInputStream; import java.io.InputStreamReader; import java.io.BufferedReader; import java.io.FileOutputStream; import java.io.OutputStreamWriter; import java.io.BufferedWriter; import java.io.PrintWriter; import java.io.IOException; public class FileInputOutput { public static void main(String[] args) { try { String input = "unko.txt"; String inputEncoding = "UTF-8"; String output = "unko2.txt"; String outputEncoding = "UTF-8"; BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(input), inputEncoding)); PrintWriter pw = new PrintWriter(new BufferedWriter(new OutputStreamWriter(new FileOutputStream(output), outputEncoding))); String line = ""; while ((line = br.readLine()) != null) { pw.println(line); } br.close(); pw.close(); } catch (IOException e) { e.printStackTrace(); } } } ===== プロパティファイルの読み込み ===== import java.util.Properties; import java.io.FileInputStream; public class PropertyFile{ public static void main(String args[]){ try { Properties prop = new Properties(); prop.load(new FileInputStream("application.ini")); for (String propertyName : prop.stringPropertyNames()) { System.out.println(propertyName); System.out.println(prop.getProperty(propertyName)); } } catch (Exception e){ e.printStackTrace(); } } } hoge=fuga hello=world ===== XPathでXMLの読み込み ===== import javax.xml.xpath.XPath; import javax.xml.xpath.XPathConstants; import javax.xml.xpath.XPathExpressionException; import javax.xml.xpath.XPathFactory; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.xml.sax.InputSource; public class UseXPath{ public static void main(String args[]){ XPath xpath = XPathFactory.newInstance().newXPath(); InputSource inputSource = new InputSource("test.xml"); String expression = "//test/unko[@id='hello']"; try { NodeList nodes = (NodeList) xpath.evaluate(expression, inputSource, XPathConstants.NODESET); for (int i = 0; i < nodes.getLength(); i++) { Node node = nodes.item(i); String str = node.getTextContent(); System.out.println(str); } } catch (XPathExpressionException e) { e.printStackTrace(); } } } 001 002 ===== 正規表現を用いたパターンマッチ ===== import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegexPatternMatch{ public static void main(String[] args) { String str = "Hello, World"; Matcher matcher = Pattern.compile("(.+?), (.+?)$").matcher(str); if (matcher.find()){ System.out.println(matcher.group(1)); //Hello System.out.println(matcher.group(2)); //World } } } ===== 正規表現を用いた文字列置換 ===== import java.util.regex.Pattern; public class RegexReplaceString{ public static void main(String[] args) { String str = "Hello, unko"; // unko -> World System.out.println(Pattern.compile("(unko)$").matcher(str).replaceFirst("World")); // unko -> World System.out.println(str.replaceAll("(unko)$", "World")); } } ===== 拡張子指定ファイル一覧 ===== import java.io.File; import java.io.FilenameFilter; public class ListFiles{ public static void main(String args[]){ File directory = new File(args[0]); for(File file : directory.listFiles(getRegexFilter(".*\\.xls"))){ System.out.println(file.getAbsolutePath()); } } private static FilenameFilter getRegexFilter(String regex) { final String regex_ = regex; return new FilenameFilter() { public boolean accept(File dir, String name) { return name.matches(regex_); } }; } } ===== シャローコピー(参照のコピー)による配列長の拡張 ===== public class ArrayCopy{ public static void main(String args[]){ String[] array = new String[3]; array[0] = "0"; array[1] = "1"; array[2] = "2"; String[] new_array = new String[array.length+1]; //「array(引数1)」の「0(引数2)」番目から「array.length(引数5)」分を「new_array(引数3)」の「0(引数4)」番目以降にコピーする System.arraycopy(array, 0, new_array, 0, array.length); //new_arrayの最後尾に「3」を追加 new_array[array.length] = "3"; //実行結果 //0 //1 //2 //3 for(String str : new_array){ System.out.println(str); } } } ===== 出力改行コードの指定 ===== public class NewLineCode{ public static void main(String args[]){ //Linux,MacOSX : "\n" //Windows : "\r\n" System.setProperty("line.separator", "\n"); System.out.println("Hello"); } } ===== 型変換 ===== public class TypeCast { public static void main(String args[]){ int intType = 10; String stringType = "10"; // int -> String String a = Integer.toString(intType); // String -> int int b = Integer.parseInt(stringType); } }