解決java 命令行亂碼的問題
更新時間:2021年02月05日 10:37:52 作者:技術研究與問題解決
這篇文章主要介紹了解決java 命令行亂碼的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
虛擬機參數加上
-Dfile.encoding=GBK -Ddefault.client.encoding=GBK -Duser.language=zh -Duser.region=CN
補充:java執(zhí)行cmd命令,返回結果中文亂碼問題解決
public static void main(String[] args) {
try {
// 執(zhí)行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();
}
}
}
}
}
結果

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
相關文章
MyBatis Plus Mapper CRUD接口測試方式
在數據庫管理系統中,插入記錄是添加新數據條目,而刪除操作包括根據主鍵ID單條刪除和批量刪除,也可以基于特定條件進行刪除,刪除操作的SQL語句是通過鍵值對在Map中拼接而成,如delete from 表 where key1=value1 AND key2=value22024-09-09
java中Iterator和ListIterator實例詳解
這篇文章主要介紹了java中Iterator和ListIterator實例詳解,具有一定借鑒價值,需要的朋友可以參考下。2017-12-12
教你在?Java?中實現?Dijkstra?最短路算法的方法
這篇文章主要教你在?Java?中實現?Dijkstra?最短路算法的方法,在實現最短路算法之前需要先實現帶權有向圖,文章中給大家介紹的非常詳細,需要的朋友可以參考下2022-04-04

