- 追加された行はこの色です。
- 削除された行はこの色です。
[[Javaメモ]] > GoogleGuava
* GoogleGuava [#bf24d452]
&color(red){書きかけの記事};
#contents
** Strings [#n0ddd6df]
#mycode(){{
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 [#c828b8d7]
#mycode(){{
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 [#j468eb7d]
#mycode(){{
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 [#f8e367cb]
#mycode(){{
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 [#j0721017]
#mycode(){{
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 [#jd477dc3]
#mycode(){{
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);
}
}
}}