此笔记用于对我在分词过程中用到的JAVA方面的知识进行记录,以备后用。
在分词过程中用到了搜狗部分的中文语料库(大部分是新闻等内容),还有Stanford Segementer分词器。
笔记:
1、System.getProperty(String, String);
原型:Object getProperty(ParameterBlock paramBlock,String name)获取以name参数指定的属性的适当实例。如果存在多个源,并且每个源都指定某个属性,此方法必须确定返回该属性的哪个实例。
-paramBlock 包含操作的源和操作的ParameterBlock。
-name 命名所需属性的字符串
返回:引用所请求属性的值的对象
2、System.setOut(Object obj)
设置标准输出到一个地方,可以是文件,可以是别的对话框等等
例子:PrintStream ps = new PrintStream("e:/log.txt");//新建一个打印对象
System.setOut(ps); //重定向屏幕输出到ps当中
例子:System.setOut(new PrintStream(System.out, true, "utf-8")) //重定向输出到标准输出当中,输出格式为utf-8
3、读取文件
4、写文件import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.InputStreamReader; import java.io.Reader; public class H { /** * 功能:Java读取txt文件的内容 * 步骤:1:先获得文件句柄 * 2:获得文件句柄当做是输入一个字节码流,需要对这个输入流进行读取 * 3:读取到输入流后,需要读取生成字节流 * 4:一行一行的输出。readline()。 * 备注:需要考虑的是异常情况 * @param filePath */ public static void readTxtFile(String filePath){ try { String encoding="GBK"; File file=new File(filePath); if(file.isFile() && file.exists()){ //判断文件是否存在 InputStreamReader read = new InputStreamReader( new FileInputStream(file),encoding);//考虑到编码格式 BufferedReader bufferedReader = new BufferedReader(read); String lineTxt = null; while((lineTxt = bufferedReader.readLine()) != null){ System.out.println(lineTxt); } read.close(); }else{ System.out.println("找不到指定的文件"); } } catch (Exception e) { System.out.println("读取文件内容出错"); e.printStackTrace(); } } public static void main(String argv[]){ String filePath = "L:\\20121012.txt"; // "res/"; readTxtFile(filePath); } }
import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; public class FileUtil { public void writeLinesToFile(String filename, String[] linesToWrite, boolean appendToFile) { PrintWriter pw = null; try { if (appendToFile) { //If the file already exists, start writing at the end of it. pw = new PrintWriter(new FileWriter(filename, true)); } else { pw = new PrintWriter(new FileWriter(filename)); //this is equal to: //pw = new PrintWriter(new FileWriter(filename, false)); } for (int i = 0; i < linesToWrite.length; i++) { pw.println(linesToWrite[i]); } pw.flush(); } catch (IOException e) { e.printStackTrace(); } finally { //Close the PrintWriter if (pw != null) pw.close(); } }