• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Khan's Notebook GCC/GNU/Linux Delphi/Window Java/Anywhere

            路漫漫,長(zhǎng)修遠(yuǎn),我們不能沒(méi)有錢(qián)
            隨筆 - 173, 文章 - 0, 評(píng)論 - 257, 引用 - 0
            數(shù)據(jù)加載中……

            java執(zhí)行外部指令,并接收中文結(jié)果

            package com.khan.util;


            import java.io.BufferedInputStream;
            import java.io.IOException;
            import java.io.InputStream;
            //import java.io.File;

            /**
            ?* <p>Title: </p>
            ?* <p>Description: </p>
            ?* <p>Copyright: Copyright (c) 2006</p>
            ?* <p>Company: </p>
            ?* @author not attributable
            ?* @version 1.0
            ?*/


            public class ExecCmd {

            ??? public ExecCmd() {

            ??? }


            ??? // read an input-stream into a String
            ??? public static String loadStream(InputStream in, String charset) throws IOException {
            ??????? int char_set_len = 2;
            ??????? if (null == charset) {
            ??????????? charset = "GBK";
            ??????? }

            ??????? if (charset.equals("utf8") || charset.equals("UTF8")
            ??????????? || charset.equals("utf-8") || charset.equals("UTF-8")) {
            ??????????? char_set_len = 3;
            ??????? }

            ??????? int ptr = 0;
            ??????? byte[] char_buff = new byte[char_set_len];
            ??????? in = new BufferedInputStream(in);

            ??????? StringBuffer buffer = new StringBuffer();
            ??????? while ((ptr = in.read()) != -1) {

            ??????????? if (ptr >= 0x80) { //中文處理
            ??????????????? char_buff[0] = (byte) ptr;
            ??????????????? for (int i = 1; i < char_set_len; i++) {
            ??????????????????? char_buff[i] = (byte) in.read();
            ??????????????????? if (char_buff[i] == -1) {
            ??????????????????????? break;
            ??????????????????? }
            ??????????????? }
            ??????????????? buffer.append(new String(char_buff, charset));
            ??????????????? continue;
            ??????????? }

            ??????????? buffer.append((char) ptr);
            ??????? }
            ??????? return buffer.toString();
            ??? }


            ??? static public void main(String[] args) {
            ??????? long l = 0;
            ??????? String str = "";
            ??????? String[] cmd1 = {"cmd.exe",
            ??????????????????????? "/c",
            ??????????????????????? "dir",
            ??????????????????????? "/b",
            ??????????????????????? "/s",?? "e:\\*.log"};
            ??????????????????????? //args[0] +"\\*.log"};

            ??????? String[] cmd = {"gawk",
            ?????????????????????? "-F,",
            ?????????????????????? //"\"END{print NR}\"",
            ?????????????????????? "\"END{print substr($1, 0, 8), NR}\"",
            ?????????????????????? "mo_pay.log"};
            ??????? //File dir = new File("D:\\Program Files\\gawk\\bin");

            ??????? try {
            ??????????? Process ps = Runtime.getRuntime().exec(cmd1);
            ??????????? String[] strs = loadStream(ps.getInputStream(), "GBK").split("\r\n");
            ??????????? System.err.print(loadStream(ps.getErrorStream(), "GBK"));
            ??????????? for (int i = 0; i < strs.length; i++) {
            ??????????????? cmd[3] = strs[i].trim();
            ??????????????? ps = Runtime.getRuntime().exec(cmd);
            ??????????????? str = loadStream(ps.getInputStream(), "GBK");
            ??????????????? str = str.substring(0, str.indexOf('\r'));

            ??????????????? l += Long.parseLong(str.split(" ")[1]);
            ??????????????? System.out.println(str);
            ??????????????? System.err.print(loadStream(ps.getErrorStream(), "GBK"));
            ??????????? }
            ??????????? System.out.println(l);
            ??????? } catch (IOException e) {
            ??????????? e.printStackTrace();
            ??????? }
            ??????? //System.out.println("執(zhí)行完畢");
            ??? }

            }



            ? 這個(gè)代碼是我最近的一個(gè)project中,用來(lái)調(diào)用gawk的處理結(jié)果,并在web上顯示
            在web中顯示的部分就是jsp了.這個(gè)就沒(méi)有必要貼了,
            ? awk處理文本的效率確實(shí)不錯(cuò).

            posted on 2006-09-28 10:07 Khan 閱讀(1019) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): 跨平臺(tái)開(kāi)發(fā)Java

            午夜福利91久久福利| 91精品婷婷国产综合久久| 亚洲狠狠综合久久| 久久精品www人人爽人人| 无码国内精品久久人妻| 性做久久久久久久| 久久亚洲精品中文字幕| 久久精品人人做人人爽电影蜜月| 久久中文字幕人妻丝袜| 伊人久久大香线蕉av一区| 久久亚洲AV成人无码电影| 潮喷大喷水系列无码久久精品| 国产精品久久久久久福利漫画| 国产Av激情久久无码天堂| 免费观看久久精彩视频| 精品欧美一区二区三区久久久| 久久久久婷婷| 久久中文骚妇内射| 99久久综合国产精品二区| 欧美午夜精品久久久久久浪潮| 亚洲综合久久久| 久久精品国产亚洲av高清漫画| 91精品国产高清久久久久久io| 99久久精品费精品国产| 亚洲国产精品综合久久一线| 午夜精品久久久久久中宇| 久久九九青青国产精品| 人人狠狠综合久久亚洲高清| 久久人人爽人人爽人人爽| 国产精品久久久久无码av| 要久久爱在线免费观看| 久久精品无码一区二区无码| 久久se这里只有精品| 色88久久久久高潮综合影院| 久久久久久久国产免费看| 亚洲综合熟女久久久30p| 国产精品成人久久久久久久| 亚洲精品无码久久久久| 久久久综合香蕉尹人综合网| 漂亮人妻被黑人久久精品| 久久天天躁狠狠躁夜夜av浪潮|