URLエンコードをする小さなプログラムです。 どこにでも載ってそうなモノですが、次のネタ(データURIスキーム)で使うので一応掲載。 リダイレクトして使う事を想定しています。
java SimpleUrlEncoder utf8.txt > res.txt
以下、コードです。
// SimpleUrlEncoder.java import java.io.File; import java.io.FileInputStream; import java.net.URLEncoder; public class SimpleUrlEncoder { public static final long MAX_FILE_SIZE = 1000000; public static void main(String[] args) { if(args.length != 1) { System.err.println("第1引数のファイルをURLエンコードします。標準出力に出力します。"); return; } File file = new File(args[0] ); long len = file.length(); if(MAX_FILE_SIZE < len) { System.err.println("ファイルサイズが大きすぎる。"); return; } try(FileInputStream fis = new FileInputStream(file) ) { byte[] data = new byte[ (int)len]; long readLen = fis.read(data); if(len != readLen) { System.err.println("ファイル読み込み失敗"); return; } String text = new String(data, "UTF-8"); text = URLEncoder.encode(text, "UTF-8"); text = text.replaceAll("\\+", "%20"); System.out.println(text); } catch(Exception exc) { System.err.println("ファイル読み込み or 変換失敗"); exc.printStackTrace(); } } }