大神帮帮忙将这个代码打包成一个.jar或者一个.exe可执行文件
package test1;
import java.io.*;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
class hh implements ActionListener{
TruncateString a=new TruncateString();
String str1="";
String str2="";
JFrame frame=new JFrame("文件选择器实例");
JTabbedPane tabPane=new JTabbedPane();//选项卡布局
Container con=new Container();//布局1
Container con1=new Container();//布局2
JLabel label2=new JLabel("判断条件");
JLabel label1=new JLabel("选择文件");
JTextField text1=new JTextField();
JTextField text2=new JTextField();
JButton button1=new JButton("...");
JButton button2=new JButton("ok");
JFileChooser jfc=new JFileChooser();//文件选择器
hh(){
jfc.setCurrentDirectory(new File("d:\\"));//文件选择器的初始目录定为d盘
//下面两行是取得屏幕的高度和宽度
double lx=Toolkit.getDefaultToolkit().getScreenSize().getWidth();
double ly=Toolkit.getDefaultToolkit().getScreenSize().getHeight();
frame.setLocation(new Point((int)(lx/2)-150,(int)(ly/2)-150));//设定窗口出现位置
frame.setSize(300,150);//设定窗口大小
frame.setContentPane(tabPane);//设置布局
//下面设定标签等的出现位置和高宽
label1.setBounds(10,10,70,20);
label2.setBounds(10,30,100,20);
text2.setBounds(80,10,120,20);
text1.setBounds(80,30,120,20);
button1.setBounds(210,10,50,20);
button2.setBounds(210,30,50,20);
button1.addActionListener(this);//添加事件处理
button2.addActionListener(this);//添加事件处理
con.add(label2);
con.add(label1);
con.add(text1);
con.add(text2);
con.add(button1);
con.add(button2);
con.add(jfc);
tabPane.add("目录/文件选择",con);//添加布局1
//tabPane.add("暂无内容",con1);//添加布局2
frame.setVisible(true);//窗口可见
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//使能关闭窗口,结束程序
}
public void actionPerformed(ActionEvent e) {//事件处理
if(e.getSource().equals(button2)){
try{
str2=text1.getText();
str2= str2.trim();//去掉多余空格和首尾括号
BufferedWriter br1 = new BufferedWriter(new FileWriter("d:/d.txt"));
File file = new File(str1);
StringBuilder sb = new StringBuilder();
String s ="";
BufferedReader br = new BufferedReader(new FileReader(file));
while( (s = br.readLine()) != null) {
//读取。txt中的内容读一行回车一行
sb.append(s + "\n");
}
br.close();//读取结束关闭
String str = sb.toString();
if(str.indexOf(str2)!=-1){//判断所要找的判断语句是不是在str里面 如果在运行以下代码不在运行else
TruncateString ts = new TruncateString(str);
String ss = ts.getString(str2);
System.out.println(ss);
//把获得的数据变成流的形式输出到d.txt里面
br1.write(str2+"\r\n判断条件为\r\n"+ss);//写入
JOptionPane.showMessageDialog(button2, "文件保存在d盘下的d.txt文件中","信息提示", JOptionPane.CANCEL_OPTION);
br1.close();
}
else{
//判断语句不在str里面运行以下内容
System.out.println("在测试代码中没有找到"+str2+"语句");
BufferedWriter br2 = new BufferedWriter(new FileWriter("d:/d.txt"));//你要写入的文件路径加上名称
br2.write("在测试代码中没有找到"+str2+"语句");
JOptionPane.showMessageDialog(button2, "文件保存在d盘下的d.txt文件中","信息提示", JOptionPane.CANCEL_OPTION);//弹出提示框
br2.close();
}
}catch(Exception e1){}
}
if(e.getSource().equals(button1)){
jfc.setFileSelectionMode(0);//设定只能选择到文件
int state=jfc.showOpenDialog(null);//此句是打开文件选择器界面的触发语句
if(state==1){
return;//撤销则返回
}
else{
File f=jfc.getSelectedFile();//f为选择到的文件
text2.setText(f.getAbsolutePath());
str1=text2.getText();
}
}
}
public static void main(String[] args) {
new hh();
System.out.println("Hello world");
JOptionPane.showMessageDialog(null,"运行" ,"标题",JOptionPane.OK_OPTION);
}
}
class TruncateString {
int i=1;
private String s = "";
public TruncateString() {
s = "";
}
public TruncateString(String s) {//做个构造器
super();//递归父类中的所有无参构造器
this.s = s;
}
public String getS() {
return s;
}
public void setS(String s) {
this.s = s;
}
public String getString(String judge) {
String resultString = "";// 存结果
int len = judge.length();
int position = 0;
while (true) {
int index = s.indexOf(judge, position);// 持续查找 类似"if" 的字符串位置。
if (index < 0)// 没有了。
{
break;
}
position = index;
//System.out.println("position is " + position);// 测试用,输出位置
//resultString[ += judge + "\r\n";// "if"存入数组
resultString += getJudge(position, len) + "\r\n";// 结果存入。
if (position + len >= s.length())// 到文件尾了,退出。
{
break;
}
position += len;// 从if后面继续找
}
return resultString;// 以数组形式返回。
}
//找到if 后面的条件表达式,替换 "&&" 和 "||".
//
public String getJudge(int position, int len) {
int newP = position + len;
String r = "";
int numberOfBrackets = 0;
while (s.charAt(newP++) != '(') {
continue;
}
numberOfBrackets++;
position = newP - 1;
while (numberOfBrackets != 0) {
while (newP + 1 < s.length()) {
char c = s.charAt(newP++);
if (c == '(') {
numberOfBrackets++;
break;
} else if (c == ')') {
numberOfBrackets--;
break;
}
}
}
r = s.substring(position, newP);
r = r.replaceAll("\\&\\&", "和").replaceAll("\\|\\|", "或者");
r = r.trim().substring(1, r.length()-1);//去掉多余空格和首尾括号
int t=i++;
String a=Integer.toString(t);
return a+"."+" "+r;
}
}
大神帮帮忙将这个代码打包成一个.jar或者一个.exe可执行文件发到chenxu491559240@qq.com小弟菜鸟一只研究了好久还是不会打包谢谢各位大神