2024-07-01から1ヶ月間の記事一覧

Java Stream で Max , Min を求めた時の優先順位

Stream から 最大値、最小値を求めた時の結果は、null のStream のケースが 有りうるので、Optional です。 Stream<T>.max(Comparator comparator) Stream<T>.min(Comparator comparator) の返却値は、 Optional<T> 最大値、最小値が複数ある時、結果として返ってくる</t></t></t>…

Javaの起動コマンドスクリプト

-jar オプションによる JAR MANIFEST でメインクラスを指定した jar ファイル指定で 起動するケースがほとんどのせいで、 Java を学び始めた遠い昔で実行した起動コマンドスクリプトの作法を 忘れるまではいかなくても、これで良いのだっけと不安になってし…

改行を含まないデータTSVファイルの読込み

改行を含まないデータCSVファイルの読込み - Oboe吹きプログラマの黙示録 を書いたのなら、 TSV の場合も同様に書ける。 まず、Csvtolist はカンマ区切りなので、これをタブ区切りで処理する Tsvtolist を用意する。 Csvtolist から変更箇所は1箇所だけであ…

改行を含まないデータCSVファイルの読込み

実践で良く処理するCSVは、改行をデータに含まないケースがほとんどである。 改行をデータに含むケースを考慮したものとして、 GitHub - yipuran/yipuran-csv: Java CSV read and write を作ったが、改行をデータに含まないケースはこれを使わずにもっと少な…

Java起動時のPATH

Javaを呼び出すプロセスの現在のディレクトリPATH これを求める方法Paths.get("") を使う方法 import java.nio.file.Paths; String curpath = Paths.get("").toAbsolutePath().toString(); システムプロパティ環境変数(user.dir)から求める方法 String use…

FastAPI でダウンロードするサイトを作る

(1)動的にダウンロードするコンテンツを作成してダウンロードさせる場合例)CSVを生成→ダウンロード from fastapi import FastAPI, Response app = FastAPI() @app.get("/download") def csvget(): content = '"あ","い","う"\n"1","2","3"' filename …

1つのプロジェクトで複数の起動クラス毎の JAR をビルドする

昔、考えが及ばずあまりイケてない方法を書いた。 1プロジェクトで起動可能な2つのJARを作る - Oboe吹きプログラマの黙示録 これでは、2通りのJARしか対応できないので、ダメだ。 static mainメソッドのクラスをプロジェクトで複数持って、 各クラス毎の …

正規表現 肯定先読み/後読み

正規表現の任意のパターンの先読みやあと読みの書き方 (?=pattern) 肯定先読み 直後にpatternがある (?!pattern) 否定先読み 直後にpatternが無い (? 肯定後読み 直前にpatternがある (?