作为一名java小白,最近在学习java基础。在cmd下,通过javadoc -d doc -author -version Xxx.java 命令生成帮助文档出现了错误:编码 GBK 的不可映射字符 (0x80)。
一、"javac -d doc -author -version Xxx.java"各个命令的作用
javadoc:生成API帮助文档
-d:输出文件的目标目录(你想放的地方)
doc:跟随-d的(是你的文件路径,我这里表示当前目录下,并新建doc文件)
-author:见名知意,生成作者(前提:自己在文档中写了@author 时空幻月)
-version:见名知意,生成版本(前提:自己在文档中写了@version V1.0)
当然还有输出除了默认之外的信息,这一我就不一一介绍了。
二、出现编码 GBK 的不可映射字符 (0x80)错误原因
既然想生成帮助文档,中文汉字的出现是必不可少的,这个时候,编码格式就跑出来捣乱了。因为我们是通过cmd命令来生成帮助文档,而cmd是Windows系统的。关键点来了,Windows系统默认的编码格式是GBK编码,而我们常使用的IDEA、eclipse基本上都是UTF-8,所以出现了编码 GBK 的不可映射字符 (0x80)错误。
三、解决方法
既然找到原因了,下面就该解决它了,解决方法很简单。让Windows使用UTF-8编码就OK了。
格式:
javadoc -encoding UTF-8 -d tool -author -version Method.java
四、运行结果
cmd:
HTML
五、源代码(没用过,但感兴趣的可以拿去试试)
1 import java.util.Random; 2 /**//注意:注释这里/**必须是两个'*'号,这才能被注释文档输出来 3 * 这是一个关于数组操作的方法类 4 * @author 时空幻月 5 * @version V1.0 6 **/ 7 8 public class Method { 9 /** 10 * 这是返回一个随机生成的长度度小于10的,元素小于100的数组方法 11 * @return 返回的数组 12 * */ 13 public int[] randomIntArray(){ 14 Random rd = new Random(); 15 int[] arr = new int[rd.nextInt(10)]; 16 for(int i=0;i<arr.length;i++){ 17 arr[i] = rd.nextInt(100); 18 } 19 return arr; 20 } 21 22 /** 23 * 这是一个冒泡排序方法 24 * @param arr 需要冒泡排序的方法 25 * */ 26 public void bullingSort(int[] arr){ 27 for(int i=0;i<arr.length-1;i++){ 28 for(int j=0;j<arr.length-1-i;j++) { 29 int temp; 30 if (arr[j] > arr[j + 1]) { 31 temp = arr[j]; 32 arr[j] = arr[j + 1]; 33 arr[j + 1] = temp; 34 } 35 } 36 } 37 } 38 39 /** 40 * 这是输出数组中的所有元素的方法 41 * @param arr 这是要输出的数组 42 */ 43 public void arrayPrint(int[] arr){ 44 for(int i:arr){ 45 System.out.print(i+" "); 46 } 47 } 48 }