====== 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);
}
}