java 之批量转换url中的中文unicode
2016-02-04 15:44
549 查看
有朋友想转url可以使用String urlString = URLEncoder.encode(line, "utf-8");
但是这个会连[:,\,+,?....等等]都给转换了,与js中encodeURIComponent异曲同工
但是我想得到跟js中的encodeURI转换后的url怎么办?
方法如下:
直接代码走起
package test;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.LineNumberReader;
import java.io.OutputStreamWriter;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
public class ReadUrlToEncode {
public static void main(String[] args) throws IOException {
String sourceFile = "D://test.txt";
List<String> l = new ArrayList<String>();
ScriptEngineManager sem = new ScriptEngineManager();
ScriptEngine engine = sem.getEngineByExtension("js");
LineNumberReader reader = null;
try {
reader = new LineNumberReader(new BufferedReader(new InputStreamReader(new FileInputStream(sourceFile), "gbk")));
String line;
Object res = null;
while ((line = reader.readLine()) != null) {
// String urlString = URLEncoder.encode(line, "utf-8");
try{
//直接解析
res = engine.eval(" encodeURI('"+line+"')");
System.out.println(res);
}catch(Exception ex){
ex.printStackTrace();
}
l.add(String.valueOf(res));
}
reader.close();
} catch (IOException e) {
if (reader != null) {
try {
reader.close();
} catch (IOException ee) {
}
}
}
File fos = new File("D://geturl.txt");
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(fos,false)));
writer.close();
System.out.println("file ok");
}
}
测试url:http://www.aaa.net/search?scope=bbs&q=C语言
输出结果:http://www.aaa.net/search?scope=bbs&q=C%E8%AF%AD%E8%A8%80
谢谢各位.
但是这个会连[:,\,+,?....等等]都给转换了,与js中encodeURIComponent异曲同工
但是我想得到跟js中的encodeURI转换后的url怎么办?
方法如下:
直接代码走起
package test;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.LineNumberReader;
import java.io.OutputStreamWriter;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
public class ReadUrlToEncode {
public static void main(String[] args) throws IOException {
String sourceFile = "D://test.txt";
List<String> l = new ArrayList<String>();
ScriptEngineManager sem = new ScriptEngineManager();
ScriptEngine engine = sem.getEngineByExtension("js");
LineNumberReader reader = null;
try {
reader = new LineNumberReader(new BufferedReader(new InputStreamReader(new FileInputStream(sourceFile), "gbk")));
String line;
Object res = null;
while ((line = reader.readLine()) != null) {
// String urlString = URLEncoder.encode(line, "utf-8");
try{
//直接解析
res = engine.eval(" encodeURI('"+line+"')");
System.out.println(res);
}catch(Exception ex){
ex.printStackTrace();
}
l.add(String.valueOf(res));
}
reader.close();
} catch (IOException e) {
if (reader != null) {
try {
reader.close();
} catch (IOException ee) {
}
}
}
File fos = new File("D://geturl.txt");
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(fos,false)));
writer.close();
System.out.println("file ok");
}
}
测试url:http://www.aaa.net/search?scope=bbs&q=C语言
输出结果:http://www.aaa.net/search?scope=bbs&q=C%E8%AF%AD%E8%A8%80
谢谢各位.
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- Linux 与 Windows 对UNICODE 的处理方式
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序