GoogleGuava †書きかけの記事 Strings †package example; import com.google.common.base.Strings; public class SampleStrings { public static void main(String[] args) { { // null または 空文字の判定 System.out.println("--- isNullOrEmpty ---"); String strNull = null; String strEmpty = ""; String strNotEmpty = "abc"; String[] strAll = {strNull, strEmpty, strNotEmpty }; for (String str : strAll) { if (Strings.isNullOrEmpty(str)){ System.out.println("is null or empty(" + str + ")"); } else { System.out.println("is not null And not empty(" + str + ")"); } } } { // 空文字をnullに変換 System.out.println("--- emptyToNull ---"); String bef = ""; String aft = Strings.emptyToNull(bef); System.out.println("\""+bef +"\"" + "->" + aft); } { // nullを空文字に変換 System.out.println("--- nullToEmpty ---"); String bef = null; String aft = Strings.nullToEmpty(bef); System.out.println(bef + "->" + "\"" + aft + "\""); } { // 指定した文字列を指定回数繰り返した文字列を作成 System.out.println("--- repeat ---"); String str = Strings.repeat("abc", 3); System.out.println(str); } { // 左パディング System.out.println("--- padStart ---"); String str = Strings.padStart("123", 5, '0'); System.out.println(str); } { // 右パディング System.out.println("--- padEnd ---"); String str = Strings.padEnd("123", 5, '0'); System.out.println(str); } } } CaseFormat †package example; import com.google.common.base.CaseFormat; public class SampleCaseFormat { public static void main(String[] args) { { // LowerキャメルケースをUPPERスネークケースへ String str1 = CaseFormat.LOWER_CAMEL.to(CaseFormat.UPPER_UNDERSCORE, "testString"); System.out.println(str1); // UpperキャメルケースをUPPERスネークケースへ String str2 = CaseFormat.UPPER_CAMEL.to(CaseFormat.UPPER_UNDERSCORE, "TestString"); System.out.println(str2); // UPPERスネークケースをLowerキャメルケースへ String str3 = CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, "TEST_STRING"); System.out.println(str3); // UPPERスネークケースをUpperキャメルケースへ String str4 = CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.UPPER_CAMEL, "TEST_STRING"); System.out.println(str4); } } } Lists †package example; import java.util.List; import com.google.common.collect.Lists; public class SampleLists { public static void main(String[] args) { // 初期値を指定してリストを初期化 System.out.println("--- 初期値を指定してリストを初期化 ---"); List<String> strList1 = Lists.newArrayList("a","b","c"); int i = 0; for (String str : strList1) { System.out.println(++i + ":" + str); } // String配列からListに変換 System.out.println("--- String配列からListに変換 ---"); String[] strAry = {"a", "b", "c"}; List<String> strList2 = Lists.newArrayList(strAry); i = 0; for (String str : strList2) { System.out.println(++i + ":" + str); } } } Joiner †package example; import java.util.HashMap; import java.util.List; import java.util.Map; import com.google.common.base.Joiner; import com.google.common.collect.Lists; public class SampleJoiner { public static void main(String[] args) { // String配列を結合 String[] strAry = {"a","b","c"}; String strJoin1 = Joiner.on(",").join(strAry); System.out.println(strJoin1); // Listを結合 List<String> strList = Lists.newArrayList("a","b","c"); String listJoined = Joiner.on(",").join(strList); System.out.println(listJoined); // Mapを結合 Map<String, String> map = new HashMap<String,String>(); map.put("key1", "val1"); map.put("key2", "val2"); map.put("key3", "val3"); String mapJoined = Joiner.on(",").withKeyValueSeparator(":").join(map); System.out.println(mapJoined); } } Files †package example; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.IOException; import java.util.List; import com.google.common.base.Charsets; import com.google.common.io.Files; public class SampleFiles { public static void main(String[] args) throws IOException { File file1 = new File(path_to_file); File file2 = new File(path_to_file); // BufferedReaderの作成 { System.out.println("--- BufferedReaderの作成 ---"); BufferedReader reader = Files.newReader(file1, Charsets.UTF_8); int i = 0; String line = null; while ((line = reader.readLine()) != null) { System.out.println(++i + ":" + line); } } // ファイルを一括で読み込んでListに格納 { System.out.println("--- ファイルを一括で読み込んでListに格納 ---"); List<String> lines = Files.readLines(file1, Charsets.UTF_8); int i = 0; for (String line : lines) { System.out.println(++i + ":" + line); } } { // ファイルを読み込んでバイト配列に格納 System.out.println("--- ファイルを読み込んでバイト配列に格納 ---"); byte[] bytes = Files.toByteArray(file1); String hexStr = toHexString(bytes); System.out.println(hexStr); // java.nio.file.Files.readAllBytes(path); } { // BufferedWriterの作成 BufferedWriter writer = Files.newWriter(file2, Charsets.UTF_8); writer.append("追加行1\n"); writer.flush(); writer.close(); } { // ファイルにデータ追加 Files.append("追加行2\n", file2, Charsets.UTF_8); } // TODO: copy // TODO: InputStreamの内容をファイルに書く // TODO: Readerの内容をファイルに書く } private static String toHexString(byte[] bytes){ StringBuilder sb = new StringBuilder(); long len = bytes.length; for (int i = 0; i < len; i++) { String str = Integer.toHexString(bytes[i] & 0xff); if (str.length() < 2) { sb.append("0"); } sb.append(str); } return sb.toString(); } } BaseEncoding †package example; import java.io.File; import java.io.IOException; import com.google.common.io.BaseEncoding; import com.google.common.io.Files; public class SampleBaseEncoding { public static void main(String[] args) throws IOException { // 画像ファイルの内容をBase64エンコーディング文字列に変換; byte[] bytes = Files.toByteArray(new File(path_to_image_file)); String base64Image = BaseEncoding.base64().encode(bytes); System.out.println(base64Image); } } |