900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 在cmd中使用命令来编译并运行java程序 导入其他jar包 使用windows批处理文件

在cmd中使用命令来编译并运行java程序 导入其他jar包 使用windows批处理文件

时间:2021-08-09 16:00:05

相关推荐

在cmd中使用命令来编译并运行java程序 导入其他jar包 使用windows批处理文件

一、使用cmd编译并运行java程序

今天帮朋友做一件事,他是一个不懂技术的人,说需要一个工具来做数据筛选,没有什么学识的我只想到了使用java程序来实现,于是上去就是一通abcd,玩笑归玩笑,做完了以后,发现用着还可以,于是想写一篇文章记录一下在使用cmd命令编译java程序的时候遇到的一些问题。

首先给了一个数据样本:

丨哈】【C 2-9 14:09:44 大(4321432432)哈丨哈丨哈丨哈】 【A 2-9 14:09:44 小(1232)哈丨哈丨哈丨哈】【B 2-9 14:09:44 打(123232)哈丨哈丨哈丨哈】【C 2-9 14:09:44 大(4321432432)哈丨哈丨哈丨哈】

需要采集括号里面连续的数据,于是想使用字符串截取的方式来将所有的连续数字给截取出来,然后放到一个StringBuffer里面,然后再写入到一个文件里。

代码:

package test;import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.OutputStreamWriter;import java.util.Arrays;/***author:bingbing*日期:2月9日*时间:下午2:20:32*/public class test {public static void main(String[]args) throws IOException {File file=new File("D:\\数据.txt");if(file.exists()) {FileInputStream fis=new FileInputStream(file);InputStreamReader isr=new InputStreamReader(fis,"utf-8");BufferedReader br=new BufferedReader(isr);String str="";while(br.read()!=-1) {str=br.readLine();}System.out.println(str);StringBuffer sb=new StringBuffer();int index=0;while(index<=str.length()) {//实现原理: 通过一个游标index,来将连续数字的左括号和右括号定位出来,找到一个后就截取//出来,放到StringBuilder里面,然后将游标后移,移到的位置为上一次截取到的右括号的位置。int start= str.indexOf('(',index); int end=str.indexOf(')',index);if(start!=-1 && end !=-1) {String temp=str.substring(start+1, end);sb.append(temp+";");index=end+1;}else {break;}}System.out.println("截取到的字符串为:"+sb.toString());FileOutputStream fos=new FileOutputStream(new File("D:\\结果.txt"));OutputStreamWriter osw=new OutputStreamWriter(fos,"utf-8");BufferedWriter bw=new BufferedWriter(osw);bw.write(sb.toString());System.out.println("写入文件完毕!"); br.close();bw.close();}else {file.createNewFile();}}}

数据放到D盘的根目录,然后将数据读取出来,操作完之后再放进去。

编译成功,输出到想要的结果

但对于一个不懂技术的人来说,这样是远远不够的,为了方便后面继续使用,于是我想到了使用cmd命令来执行程序,一件命令,执行成功后,得到数据结果。

使用cmd命令来编译并运行java程序:

1) 类带包的话,需要注意的是,在它的上一级目录编译好后,新建一个test文件夹,把java文件和class文件放入到test文件夹里面去,然后返回上一级目录,运行。

运行的命令为: java test.test

2) 在使用javac编译的时候,出现乱码,解决方法如下

使用如下命令: javac -encoding utf-8 test.java

编译成功后,在同级目录下会生成.class文件!

3) 编译完成后,使用java 命令运行程序,运行成功后,将命令放到.bat文件里,一键执行。

.bat文件里面的命令如下:

cd d:

d:

java test.test

二、使用cmd命令在编译的时候打入其他jar包

最近由于需要,用java代码写了一个word替换工具,

PS D:\替换工具\源代码\com\example\file> javac -cp d://替换工具//spire//Spire.Doc.jar -encoding utf-8 ReplaceWordContent.java

PS D:\替换工具\源代码\com\example\file> javac -cp d://替换工具//spire//Spire.Doc.jar -encoding utf-8 ReplaceWordContent.java

PS D:\替换工具\源代码\com\example\file>

编译完成后,执行:

java ReplaceWordContent

发现spire的jar包并没有引入。

修改命令:

java -cp .;d:\\替换工具\\spire\\Spire.Doc.jar ReplaceWordContent

完整路径如下:

PS D:\替换工具\源代码\com\example\file> java -cp .;d:\\替换工具\\spire\\Spire.Doc.jar? ReplaceWordContent

发现成功了!

切换到工具目录再执行:

D:\替换工具\源代码>java -cp .;d:\\替换工具\\spire\\Spire.Doc.jar com.example.file.ReplaceWordContent

三、将命令写入到.bat文件里

写完后,发现不太好用,对于不懂程序的人来说,还需要提升一下用户体验,不可能让他们把代码放到程序里,再执行一下,我们可以用更便捷的方式来让程序在windows环境下实现一键执行,因此把所有的命令可以放到批处理文件里,然后实现一键执行编译好的字节码文件,这样就能够让不懂代码的人也能够使用该功能 !

所有的命令行如下:

cd D:\替换工具\源代码\com\example\file

d:

javac -cp d://替换工具//spire//Spire.Doc.jar -encoding utf-8 ReplaceWordContent.java

cd D:\替换工具\源代码

java -cp .;d:\\替换工具\\spire\\Spire.Doc.jar com.example.file.ReplaceWordContent

路径中有中文,在执行的时候惊奇的发现有中文乱码问题!

解决方式,在notepad++里修改编码为ANSI:

重新一键运行, start.bat文件,中文乱码问题解决:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。