欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java Cmd運行Jar出現(xiàn)亂碼的解決方案

 更新時間:2021年09月09日 10:30:00   作者:程序員小風(fēng)  
這篇文章主要介紹了Java Cmd運行Jar出現(xiàn)亂碼的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Java Cmd運行Jar出現(xiàn)亂碼

今天做項目的時候遇到一個很頭疼的問題——無論在Java代碼中如何統(tǒng)一編碼為UTF8,在IDE中運行是完全沒問題的,但打包成Jar通過Bash和CMD運行,都會出現(xiàn)中文亂碼問題。

起初是覺得Java編譯時編碼出現(xiàn)了問題,但經(jīng)過幾小時的排查,終于找到中文亂碼問題的根源——cmd/bash默認的編碼是GBK。為了防止日后再踩坑,本文記錄問題的解決方案。

一、設(shè)定cmd的編碼為utf-8

打開cmd,輸入以下命令

chcp 65001

這樣既可以更改cmd的編碼為UTF-8了。

以下是常用的cmd編碼

  • 字符編碼 對應(yīng)字符
  • GBK(默認) 936
  • 美國英語 437
  • utf-8 65001

二、規(guī)定執(zhí)行java時的編碼方式

在cmd下,常見運行Jar包的命令如下

java -jar project.jar

但這樣可能會使得java運行時編碼不正確導(dǎo)致的報錯,這時候我們可以將運行Jar時,指定編碼參數(shù)

java -Dfile.encoding=utf-8 -jar project.jar

三、將以上命令打包成bat

每次啟動項目都要進行如上兩步的話,其實會非常麻煩,我們可以將以上兩部打包成bat批處理文件,具體步驟如下

3.1 在Jar的目錄下創(chuàng)建一個txt文件

通過記事本打開

在這里插入圖片描述

3.2 將以上命令寫入txt文件中,保存

在這里插入圖片描述

3.3 修改msgSystemStart.txt為msgSystemStart.bat

在這里插入圖片描述

3.4 運行bat文件

可以看到,項目正常啟動,并且不會出現(xiàn)亂碼問題;

通過以上步驟,基本上可以將中文亂碼問題解決。

cmd運行java文件

一、進到j(luò)ava文件所在目錄

假設(shè)我們的A.java文件在F:\數(shù)據(jù)結(jié)構(gòu)\課程設(shè)計\45目錄下

打開cmd進到F盤

在這里插入圖片描述

然后輸入“cd\數(shù)據(jù)結(jié)構(gòu)\課程設(shè)計\45”,進入文件存放路徑。成功之后會看到命令行前綴是帶有路徑的。

在這里插入圖片描述

二、編譯java文件

成功進入之后,輸入“javac A.java”,此時cmd界面沒有什么反應(yīng),但是在目錄下會自動生成一個A.class的class文件,說明編譯成功了。

在這里插入圖片描述

然后回到命令行輸入“java A”,回車,輸入測試數(shù)據(jù),得到結(jié)果。

在這里插入圖片描述

三、導(dǎo)入txt文件測試

in.txt文件為輸入的數(shù)據(jù),out.txt為輸出數(shù)據(jù)。

注意,txt文件最好放在和java文件同級目錄下

在這里插入圖片描述 在這里插入圖片描述

之后out.txt會生成在45文件下

在這里插入圖片描述

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 基于mybatis逆向工程的使用步驟詳解

    基于mybatis逆向工程的使用步驟詳解

    下面小編就為大家?guī)硪黄趍ybatis逆向工程的使用步驟詳解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • Spring中的AOP操作你了解嗎

    Spring中的AOP操作你了解嗎

    這篇文章主要為大家詳細介紹了Spring中的AOP操作,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • 淺談Java中的hashcode方法(推薦)

    淺談Java中的hashcode方法(推薦)

    本篇文章主要介紹了Java中的hashcode方法,詳細的介紹了hashCode方法的作用,具有一定的參考價值,有需要的可以了解一下。
    2016-12-12
  • SpringCloud之服務(wù)注冊與發(fā)現(xiàn)Spring Cloud Eureka實例代碼

    SpringCloud之服務(wù)注冊與發(fā)現(xiàn)Spring Cloud Eureka實例代碼

    這篇文章主要介紹了SpringCloud之服務(wù)注冊與發(fā)現(xiàn)Spring Cloud Eureka實例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • SpringBoot Test 多線程報錯的根本原因(dataSource already closed)

    SpringBoot Test 多線程報錯的根本原因(dataSource already

    在使用Springboot test進行相關(guān)測試的時候,發(fā)現(xiàn)開啟線程操作數(shù)據(jù)庫的時候異常,這篇文章主要介紹了SpringBoot Test 多線程報錯:dataSource already closed的根本原因及解決方法,需要的朋友可以參考下
    2022-06-06
  • Java?Thread?類和Runnable?接口詳解

    Java?Thread?類和Runnable?接口詳解

    這篇文章主要介紹了Java?Thread?類和Runnable接口詳解,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的朋友可以參考一下
    2022-08-08
  • SpringBoot實現(xiàn)定時任務(wù)的三種方式小結(jié)

    SpringBoot實現(xiàn)定時任務(wù)的三種方式小結(jié)

    這篇文章主要介紹了SpringBoot實現(xiàn)定時任務(wù)的三種方式小結(jié),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • Java利用位運算實現(xiàn)加減乘除的方法詳解

    Java利用位運算實現(xiàn)加減乘除的方法詳解

    我們經(jīng)常使用的加減乘除,我們所看到的只是表面的效果,那么加減乘除在底層究竟是怎么實現(xiàn)的?今天就讓我們一探究竟
    2022-08-08
  • 詳解JVM的分代模型

    詳解JVM的分代模型

    這篇文章主要介紹了JVM的分代模型的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)Java虛擬機相關(guān)知識,感興趣的朋友可以了解下
    2020-10-10
  • java多線程之線程同步七種方式代碼示例

    java多線程之線程同步七種方式代碼示例

    這篇文章主要介紹了java多線程之線程同步七種方式代碼示例,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11

最新評論