programming:java
目次
Java
環境変数の参照
変数ダンプ
- VarDump.java
import org.apache.commons.lang.builder.ToStringBuilder; public class VarDump{ public static void main(String args[]){ System.out.println(ToStringBuilder.reflectionToString(args)); } }
ファイル入出力
- FileInputOutput.java
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(); } } }
プロパティファイルの読み込み
- PropertyFile.java
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(); } } }
- application.ini
hoge=fuga hello=world
XPathでXMLの読み込み
- UseXPath.java
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(); } } }
- test.xml
<?xml version="1.0" encoding="UTF-8"?> <test> <unko id="hello">001</unko> <unko id="world">002</unko> </test>
正規表現を用いたパターンマッチ
- RegexPatternMatch.java
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 } } }
正規表現を用いた文字列置換
- RegexReplaceString.java
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")); } }
拡張子指定ファイル一覧
- ListFiles.java
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_); } }; } }
シャローコピー(参照のコピー)による配列長の拡張
- ArrayCopy.java
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); } } }
出力改行コードの指定
- NewLineCode.java
public class NewLineCode{ public static void main(String args[]){ //Linux,MacOSX : "\n" //Windows : "\r\n" System.setProperty("line.separator", "\n"); System.out.println("Hello"); } }
型変換
programming/java.txt · 最終更新: 2015/06/17 05:20 by 127.0.0.1