首页 > 代码库 > language-detection 语言检测工具的应用demo
language-detection 语言检测工具的应用demo
本文基本借鉴大佬文章:http://www.cnblogs.com/makemelaugh/archive/2012/09/26/2704802.html
在此基础上添加一些自己的补充,方便查阅。
提前需要下载的jar包:
谷歌code的 language-detection下载地址:https://code.google.com/archive/p/language-detection/downloads
github上的 language-detection下载地址(这个里面有各国语言的语料包):https://github.com/optimaize/language-detector
JSONIC的jar包下载地址: https://zh.osdn.net/projects/jsonic/
项目中需要引用langdetect.jar和其依赖的jsonic.jar (项目中只需要把jar包和语料包拿过来就可以了)
简单例子如下:
Demo截图(红圈内分别为引用的jar包,语料包以及获取配置文件key的工具类):
例子贴上:
package langDetectionTest.langDetection;import com.cybozu.labs.langdetect.Detector;import com.cybozu.labs.langdetect.DetectorFactory;import com.cybozu.labs.langdetect.LangDetectException;import langDetectionTest.tools.PropertiesUtil;/** * Created by xinlian on 2017/7/20. */public class Test { public static void main(String[] args) { try { //根据路径加载语料包(PropertiesUtil是用来获取配置文件中的配置的语料包路径) DetectorFactory.loadProfile(PropertiesUtil.getProperty("config.properties ", "langdir")); } catch (LangDetectException e) { e.printStackTrace(); } Detector detect; try { detect = DetectorFactory.create(); //需要检测的语言 detect.append("这是一段中文"); System.out.println(detect.detect()); } catch (LangDetectException e) { e.printStackTrace(); } }}
PropertiesUtil工具类贴上:
package langDetectionTest.tools;import java.io.IOException;import java.util.HashMap;import java.util.Map;import java.util.Properties;/** * ????????????? * * @author zhuf * @time 2011-08-26 */public class PropertiesUtil {private static Properties properties; private static Map<String ,Properties> propertiesMap = new HashMap<String ,Properties>(); /** * 初始化properties文件 * @Title: initProperties * @data:2016-6-27下午12:44:19 * @author:bagen * * @param file */ private static void initProperties(String file) { properties = new Properties(); try { ClassLoader loader = PropertiesUtil.class.getClassLoader(); java.io.InputStream inStream = loader.getResourceAsStream(file); if(inStream != null) { properties.load(inStream); } propertiesMap.put(file, properties); } catch (IOException e) { e.printStackTrace(); } } /** * 从缓存Map获取值 * @Title: getProperties * @data:2016-6-27下午12:59:01 * @author:bagen * * @param file * @return */ public static Properties getProperties(String file){ Properties properties = null; if(propertiesMap.containsKey(file)){ properties = (Properties) propertiesMap.get(file); } return properties; } /** * 获取properties中的值 * @Title: getProperty * @data:2016-6-27下午12:51:03 * @author:bagen * * @param file * @param key * @return */ public static String getProperty(String file, String key) { if(!propertiesMap.containsKey(file)) initProperties(file); return getProperties(file).getProperty(key); }}
运行结果:
以上。
language-detection 语言检测工具的应用demo
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。