私のアプリケーションでは、文字列のスペースを%20に置き換えたいと思っています。この方法で試しましたが、
String flag1="http://74.208.194.142/admin/upload_image/1342594079_images (2).jpg";
flag1.replaceAll("", "%20");
しかし、動作していません。助けてください。nullポインタ例外が発生しています。
私のアプリケーションでは、文字列のスペースを%20に置き換えたいと思っています。この方法で試しましたが、
String flag1="http://74.208.194.142/admin/upload_image/1342594079_images (2).jpg";
flag1.replaceAll("", "%20");
しかし、動作していません。助けてください。nullポインタ例外が発生しています。
次のようにする必要があります。
flag1 = flag1.replaceAll(" ", "%20");
最初に、スペースの代わりに空の文字列を入れていました..次に、値をflag1
変数に返す必要があります..
でflag1.replaceAll()
、スペースが不足しています。試す:
String flag1="http://74.208.194.142/admin/upload_image/1342594079_images (2).jpg";
flag1 = flag1.replaceAll(" ", "%20");
結果をflag1に設定します。
String flag1="http://74.208.194.142/admin/upload_image/1342594079_images (2).jpg";
URI uri = null;
try {
uri = new URI(flag1.replaceAll(" ", "%20"));
} catch (URISyntaxException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(uri);
コンソールには出力が次のように表示されます。
http://74.208.194.142/admin/upload_image/1342594079_images%20(2).jpg
http://docs.oracle.com/javase/1.5.0/docs/api/java/net/URLEncoder.htmlをご覧ください。
交換が必要なのはブランクだけではありません。URL は、特別な意味を持つ特別な文字で構成されます (例: クエリ文字列を開始する疑問符)
String flag1 = URLEncoder.encode("This string has spaces", "UTF-8")