大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
对单个*java文件进行编译的方法是利用javac工具。
创新互联建站-专业网站定制、快速模板网站建设、高性价比集贤网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式集贤网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖集贤地区。费用合理售后完善,10多年实体公司更值得信赖。
1. 编写Hellworld.java源码
新建一个Hellworld的java文件,代码如下:
package com.csdn.test;
public class Say {
/**
* @param args
*/
public static void main(String[] args) {
System.out.println("hello,world!");
}
}
2、编译Hellworld.java源码
执行javac命令编译源代码,下面得蓝色部分说明javac执行成功了,并在当前目录下生成了Say.class文件,如下:
Microsoft Windows [版本 6.1.7600]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。
C:/Users/Administratord:
D:/cd temp
D:/tempjavac Hellworld.java
InputStreamReader in = new InputStreamReader(new FileInputStream(“demo.txt”),”UTF-8”);
给InputStreamReader指定解码编码,这样二者统一就不会出现乱码了。
下面说说字符输出流。
字符输出流的原理和字符输入流的原理一样,也可以看做是包装流,其底层还是采用字节输出流来写文件。只是字符输出流根据指定的编码将字符转换为字节的。字符输出流的主要类是:OutputStreamWriter。Java api解释如下:OutputStreamWriter 是字符流通向字节流的桥梁:使用指定的 charset 将要向其写入的字符编码为字节。它使用的字符集可以由名称指定或显式给定,否则可能接受平台默认的字符集。说的很明白了,它需要一个编码将写入的字符转换为字节,如果没有指定则采用GBK编码,那么输出的字节都将是GBK编码,生成的文件也是GBK编码的。如果采用以下方式构造OutputStreamWriter:
OutputStreamWriter out = new OutputStreamWriter(new FileOutputStream(“dd.txt”),”UTF-8”);
那么写入的字符将被编码为UTF-8的字节,生成的文件也将是UTF-8格式的。
问题二: 既然读文件要使用和文件编码一致的编码,那么javac编译文件也需要读取文件,它使用什么编码呢?
这个问题从来就没想过,也从没当做是什么问题。正是因为问题一而引发的思考,其实这里还是有东西可以挖掘的。下面分三种情况来探讨,这三种情况也是我们常用的编译java源文件的方法。
1.javac在控制台编译java类文件。
通常我们手动建立一个java文件Demo.java,并保存。此时Demo.java文件的编码为ANSI,中文操作系统下就是GBK.然后使用javac命令来编译该源文件。”javac Demo.java”。Javac也需要读取java文件,那么javac是使用什么编码来解码我们读取的字节呢?其实javac采用了操作系统默认的GBK编码解码我们读取的字节,这个编码正好也是Demo.java文件的编码,二者一致,所以不会出现乱码情况。让我们来做点手脚,在保存Demo.java文件时,我们选择UTF-8保存。此时Demo.java文件编码就是UTF-8了。我们再使用”javac Demo.java”来编译,如果Demo.java里含有中文字符,此时控制台会出现警告信息,也出现了乱码。究其原因,就是因为javac采用了GBK编码解码我们读取的字节。因为我们的字节是UTF-8编码的,所以会出现乱码。如果不信的话你可以自己试试。那么解决办法呢?解决办法就是使用javac的encoding参数来制定我们的解码编码。如下:javac -encoding UTF-8 Demo.java。这里我们指定了使用UTF-8来解码读取的字节,由于这个编码和Demo.java文件编码一致,所以不会出现乱码情况了。
2.Eclipse中编译java文件。
我习惯把Eclipse的编码设置成UTF-8。那么每个项目中的java源文件的编码就是UTF-8。这样编译也从没有问题,也没有出现过乱码。正是因为这样才掩盖了使用javac可能出现的乱码。那么Eclipse是如何正确编译文件编码为UTF-8的java源文件的呢?唯一的解释就是Eclipse自动识别了我们java源文件的文件编码,然后采取了正确的encoding参数来编译我们的java源文件。功劳都归功于IDE的强大了。
3.使用Ant来编译java文件。
Ant也是我常用的编译java文件的工具。首先,必须知道Ant在后台其实也是采用javac来编译java源文件的,那么可想而知,1会出现的问题在Ant中也会存在。如果我们使用Ant来编译UTF-8编码的java源文件,并且不指定如何编码,那么也会出现乱码的情况。所以Ant的编译命令有一个属性” encoding”允许我们指定编码,如果我们要编译源文件编码为UTF-8的java文件,那么我们的命令应该如下:
指定了编码也就相当于”javac –encoding”了,所以不会出现乱码了。
1.建文本文档,输入自己的java程序。
2.然后另存为一个java文件。
1.选择文件---另存为---名称为“HelloDate.java”-----选择“所有文件”。
2.记住自己这个文件的存储位置。(方便调用哦!)
3.打开程序----附件---命令提示符。
4.java文本保存在了F:/java/(在F盘下的java文件夹里)下,所以如果要想编译,就需要先通过命令提示符进入java这个文件夹,具体步骤如下:
1.进入F盘:输入【F:】,然后按下回车键【Enter】
2.输入【cd java】,按下回车键【Enter】
这样就已经进入了。这里的cd的意思就是进入的意思。
5.紧接着调用java编译器进行编译。
输入【javac HelloDate。java】,然后按下回车键【Enter】
6.然后运行结果。
输入【java HelloDate】,按下回车键【Enter】