StringBuilderから部分文字列を取得する。
StringBuilder builder = new StringBuilder();
builder.append("0123456789");
// インデックス3以上8未満 => "34567"
System.out.println(builder.substring(3, 8));
エンコーディングを指定してテキストファイルに書き込む。
Path outputFilePath = Paths.get("/home/mizuki/tmp", "write-text-file-windows31j.txt");
Charset charset = Charset.forName("Windows-31J");
String outputString = "あいうえお赤青黄野菜肉魚ビタミンカルシウム鉄";
try (BufferedWriter writer = Files.newBufferedWriter(outputFilePath, charset)) {
writer.write(outputString);
}
catch(IOException e) {
System.err.println(e);
}
リストを指定された件数ごとに分割する。
List<String> srcList = new ArrayList<>(Arrays.asList(new String[10500]));
int count = 2000;
List<List<String>> splitList = Util.splitList(srcList, count);
for (int i = 0; i < splitList.size(); i++) {
System.out.println(String.format("分割リスト[%d]=[%d]件", i, splitList.get(i).size()));
}
Java17(LTS)でApache Log4j 2.24.3を使う。
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
public class Main {
private static final Logger LOGGER = LogManager.getLogger();
public static void main(String[] args) {
LOGGER.fatal("ログメッセージ `{}`", "fatal");
LOGGER.error("ログメッセージ `{}`", "error");
LOGGER.warn("ログメッセージ `{}`", "warn");
LOGGER.info("ログメッセージ `{}`", "info");
LOGGER.debug("ログメッセージ `{}`", "debug");
LOGGER.trace("ログメッセージ `{}`", "trace");
}
}