解决java 命令行乱码的问题

虚拟机参数加上

-Dfile.encoding=GBK -Ddefault.client.encoding=GBK -Duser.language=zh -Duser.region=CN

补充:java执行cmd命令,返回结果中文乱码问题解决

public static void main(String[] args) {
      try {
        // 执行ping命令
        Process process = Runtime.getRuntime().exec("cmd /c e:&dir");
        BufferedReader br = new BufferedReader(
                              new InputStreamReader( process.getInputStream(), Charset.forName("GBK") )
                                  );
        String line = null;
        while ((line = br.readLine()) != null) {
          System.out.println(line);
        }
      } catch (IOException e) {
        e.printStackTrace();
      }
    } 

我的代码

package net.bigwrok;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.nio.charset.Charset;
public class Test2_net {
  public static void main(String[] args) {
    BufferedReader br = null;
    try {
      Process p = Runtime.getRuntime().exec("ping 127.0.0.1");
      br = new BufferedReader(new InputStreamReader(p.getInputStream(),Charset.forName("GBK")));
      String line = null;
      StringBuilder sb=new StringBuilder();
      while ((line = br.readLine()) != null) {
        sb.append(line+"\n");
      }
      System.out.println(sb.toString()); 

    } catch (Exception e) {
      e.printStackTrace();
    } finally {
      if (br != null) {
        try {
          br.close();
        } catch (Exception e) {
          e.printStackTrace();
        }
      }
    }
  }
}

结果

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。

(0)

相关推荐

  • Java FileInputStream读中文乱码问题解决方案

    1.前提 以读取编码是GBK的文件为案例,文件内容只有中文和中文符号 2.原因 FileInputStream读中文乱码是因为一个中文对应两个字节存储(负数),也就是说,读取对应中文的字节数应该是偶数: 而英文对应一个字节存储.FileInputStream每次读取一个数组长度的字节时,读取的中文字节数可能是奇数,也就是只读到中文的一半字节,出现乱码. 3.解决方法 一次读取所有字节,此方法不靠谱,因为不确定总字节数. 在输出时进行判断,遍历数组判断负数的个数,如果是奇数,说明读取到中文的一半字

  • 解决JavaMail附件名字过长导致的乱码问题

    问题背景: 公司有个业务场景是审核客户机构通过后,给客户发送一封邮件,并将机构相关材料以附件形式一块发送,有些附件名正常,有些就乱了,如下图: 后来发现是附近名称过长导致的! 问题原因:java mail中设置附件名称会采用 base64格式进行编码,如果附件名称过长会被进行切割,将剩下字符抹去,所以导致不知道这是什么格式的文件. 注:虽然将文件格式被改变了,但是若强制转换成原格式(右键->另存为->xxx.pdf) 仍然可以进行打开,文件内容也并非改变(这是测试后的结果) 解决方案: 由于是

  • JAVA读取HDFS的文件数据出现乱码的解决方案

    使用JAVA api读取HDFS文件乱码踩坑 想写一个读取HFDS上的部分文件数据做预览的接口,根据网上的博客实现后,发现有时读取信息会出现乱码,例如读取一个csv时,字符串之间被逗号分割 英文字符串aaa,能正常显示 中文字符串"你好",能正常显示 中英混合字符串如"aaa你好",出现乱码 查阅了众多博客,解决方案大概都是:使用xxx字符集解码.抱着不信的想法,我依次尝试,果然没用. 解决思路 因为HDFS支持6种字符集编码,每个本地文件编码方式又是极可能不一样的

  • Javaweb接收表单数据并处理中文乱码

    前端表单数据 常见的表单项的传值,如: 普通input 单选radio 多选checkbox select下拉选择 textarea文本域 普通 input : name属性值为后台接收时的参数值. 用户名:<input type="text" name="username"><br> 密码:<input type="password" name="password"><br>

  • Java向数据库插入中文出现乱码解决方案

    主要解决方向,JAVA与MYSQL中编码要统一.通常采用UTF-8. 这里虽然你在项目中设置了数据库采用UTF-8,但是那里不包括连接方式之类的. 1.查询自身MYSQL编码方式 MySQL默认编码是latin1 mysql> show variables like 'character%'; +--------------------------+--------------------------+ | Variable_name | Value | +-------------------

  • 解决Java & Idea启动tomcat的中文乱码问题

    问题描述 idea启动tomcat后乱码了,并且,idea的各种编码都是设置的为UTF-8,但是中文就是乱码了. 解决方法 进入idea的安装目录, 进入bin目录下.找到idea.exe.vmoptions这个文件 和 idea64.exe.vmoptions, 在两个文件的最后一行加入 -Dfile.encoding=UTF-8. 重启idea,再次启动tomcat,乱码问题应该就解决了. 在Idea上点击我的Tomcat我的小猫----> 选择第一个Edit Configuration 到

  • 解决java 命令行乱码的问题

    虚拟机参数加上 -Dfile.encoding=GBK -Ddefault.client.encoding=GBK -Duser.language=zh -Duser.region=CN 补充:java执行cmd命令,返回结果中文乱码问题解决 public static void main(String[] args) { try { // 执行ping命令 Process process = Runtime.getRuntime().exec("cmd /c e:&dir")

  • 解决Python命令行下退格,删除,方向键乱码(亲测有效)

    一.出现原因:readline模块没有安装 二.解决方式: # 安装readline模块 yum -y install readline-devel # 进入Python安装目录 cd /usr/local/Python-2.7.12 # 重新执行Python的安装 configure make make install 以上这篇解决Python命令行下退格.删除.方向键乱码(亲测有效)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • Java命令行运行错误之找不到或无法加载主类问题的解决方法

    目录 前言: 一. 问题分析 二. 问题解决 1. 类名错误 2. 类所在位置未添加至类加载路径中 三.扩展知识 1. JDK目录结构及环境变量介绍 2. 为什么jdk1.5后不需要配置环境变量了? 总结 前言: 虽然学习Java语言约有两年多,但在最近需要使用命令行工具编译并运行Java程序时,还是报错了.花费了一些时间,解决了该问题,发现解决方法在初学Java时使用过.一则,为了避免以后再出现同样的问题而浪费不必要的时间:二则,作为使用该语言的程序员,对于该语言的一些基本问题,应该有清晰的理

  • 通过Spring Shell 开发 Java 命令行应用

    提到 Java,大家都会想到 Java 在服务器端应用开发中的使用.实际上,Java 在命令行应用的开发中也有一席之地.在很多情况下,相对于图形用户界面来说,命令行界面响应速度快,所占用的系统资源少.在与用户进行交互的场景比较单一时,命令行界面是更好的选择.命令行界面有其固定的交互模式.通常是由用户输入一系列的参数,在执行之后把相应的结果在控制台输出.命令行应用通常需要处理输入参数的传递和验证.输出结果的格式化等任务.Spring Shell 可以帮助简化这些常见的任务,让开发人员专注于实现应用

  • 解决Python 命令行执行脚本时,提示导入的包找不到的问题

    在Pydev能正常执行的脚本,在导出后在命令行执行,通常会报自己写的包导入时找不到. 一:报错原因 在PyDev中,test.py 中导入TestUserCase里面的py文件时,会写: from TestUserCase.Test import Test 这在命Pydev中没错,但是在命令行中确出现错误. 因为在PyDev中默认路径除了当前文件所在路劲外,还有工程根路径.而在命令行中只有当前文件所在路径.TestUserCase是test.py文件的上一级目录,所以在命令行中test.py i

  • Java命令行下Jar包打包小结

    jar包打包实现 jar包打包可以使用jar指令实现打包,在命令行中输入jar可以查看jar指令的内容 从最后显示的两个示例看出存在两种打包的方法,两者的区别就是是否使用自己定义的MANIFEST清单文件.第一个示例没有使用MANIFEST文件进行打包,所以最终生成的jar包中MANIFEST文件为默认文件,这种方式适用于比较简单的jar包结构,不存在其他jar包依赖以及生成的jar包不需要可执行.这种方式生成的jar包不能使用java -jar XXX.jar命令执行,因为MANIFEST文件

  • C++和Java命令行绘制心形图案

    心形线 心形线,是一个圆上的固定一点在它绕着与其相切且半径相同的另外一个圆周滚动时所形成的轨迹,因其形状像心形而得名. 心脏线亦为蚶线的一种.在曼德博集合正中间的图形便是一个心脏线.心脏线的英文名称"Cardioid"是 de Castillon 在1741年的<Philosophical Transactions of the Royal Society>发表的:意为"像心脏的". 极坐标方程 水平方向: ρ=a(1-cosθ) 或 ρ=a(1+cos

  • 如何解决java压缩文件乱码问题

    用java来打包文件生成压缩文件,有两个地方会出现乱码: 内容的中文乱码问题:修改sun的源码.使用开源的类库org.apache.tools.zip.ZipOutputStream和org.apache.tools.zip.ZipEntry,这两个类ant.jar中有,可以下载使用即可. 压缩文件注释的中文乱码问题:zos.setComment("中文测试");通过使用设置编码的方法(zos.setEncoding("gbk");)发现问题,测试项目的编码方式为g

  • 解决java页面URL地址传输参数乱码的方法

    以下就是为大家分享的URL地址传输参数乱码的解决方法: 1.在tomcat中配置:在tomcat安装目录下面找到conf下面的server.xml找到以下代码段,修改URIEncoding为GBK: <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="GBK&q

  • Java基础之常用的命令行指令

    1.进入某盘,直接打出要进入的存储盘再冒号回车即可 例如:从C盘中的\Users\Administrator目录下进入d盘 打出"d:"再回车就欧克啦~ 2. "dir"显示某目录或某盘下的所有文件目录 例如:1.显示D盘下的文件目录 打出"dir"再回车 3. "md"新建文件夹 例如:1.在d盘下创建一个叫JavaEE的文件[也可在d盘的文件目录下建立文件夹] 格式是md javaEE再回车就可以啦.我们可以去我的电脑d盘

随机推荐