我写了一个ReadWrite.java 文件,主要是实现文本文件的转换, 也就是从一个存放有.txt文本文件的文件夹中读取数据,然后写入到另一个存有.txt 文件的文件夹中,目前我缺少一个操作界面,我现在是直接把文件夹路径写到main函数中,然后通过dos 运行ReadWrite.java文件。
为了操作方便我需要一个界面,主要功能就是通过鼠标点击“浏览”然后 弹出文件选择对话框,分别选择读取和写入的文件夹,把这两个文件夹路径作为参数传递。具体代码如下:import java.io.*;
import java.util.*;
import java.text.*;
import java.text.SimpleDateFormat;
/**
 *
 * @author Administrator
 */
public class ReadWrite {
    /** Creates a new instance of ReadWrite */
    String readUrl=null;
    String writeUrl=null;
    String[] files=null;
    public ReadWrite(String readUrl,String writeUrl) {
        try{
            File read=new File(readUrl);
            if(read.isDirectory()) {             //判断是否是个目录
                files=read.list(new TxtFilter());//参数为真则将文件名写入数组
                this.readUrl=read.getAbsolutePath();//获取文件路径
            }else{
                files=new String[1];               //不是目录就是单个文件
                files[0]=read.getName();             //获取文件名
                this.readUrl=read.getAbsolutePath();//获取文件路径
            }
            this.writeUrl=writeUrl;                 //将函数参数中写入地址传进来        } catch(Exception e) {
            System.out.println("输入输出错误!"+e);
        }        try{
            FileReader inputFile=null;
            FileWriter outputFile=null;
            String strReadLine=null;//用来存放读出的每一行
            StringBuffer str1=new StringBuffer(); //用来存放去掉空格以后的每一行数据
            String str2=null;//用来存放每一个字段
            String space="                          ";//定义26个空格用于补充空格
            String oneLine=null;//用来存放第一行的所有字段
            String twoLine=null;//用来存放第二行的所有字段
            String threeLine=null;//用来存放第三行的所有字段
            SimpleDateFormat simpleDate=new SimpleDateFormat("yyyyMMdd");//用来格式化日期           //由于显示帖子内容太长,所以把中间一部分去掉
    }
    private class TxtFilter extends Object implements FilenameFilter{    /** Creates a new instance of TxtFilter */
    public TxtFilter() {
    }
    public boolean accept(File dir,String name){
        return name.endsWith(".txt");
    }
}
    public static void main(String[] args){
        ReadWrite readWrite=new ReadWrite("e:\\chinabank\\readone\\","e:\\chinabank\\sendtobank\\");
    }
}

解决方案 »

  1.   

    不知你是不是用jdk1.5
    javax.swing.filechooser下面的类应该能帮到你
    1.4里面有个FileChooser的类
      

  2.   

    给你发一个做作参考:
    import java.awt.Component;import javax.swing.JFileChooser;/**
     * The class is a self-define file chooser,add a file filter base of
     * JFileChooser
     * 
     */
    public class FileChooserDialog extends JFileChooser {
    private Component parent; private String buttonText; private String expandName; public FileChooserDialog(String expandName, Component parent,
    String currentFile) {
    super(currentFile);
    this.parent = parent;
    this.expandName = expandName;
    setFilter(expandName);
    } public FileChooserDialog(String expandName, Component parent) {
    this(expandName, parent, null);
    } private void setFilter(final String expandName) {
    setFileFilter(new javax.swing.filechooser.FileFilter() {
    public boolean accept(java.io.File file) {
    String filename = file.getName();
    return (filename.endsWith(expandName) || file.isDirectory());
    } public String getDescription() {
    return expandName + " file";
    }
    });
    } public void setButtonText(String buttonText) {
    super.setApproveButtonText(buttonText);
    } public String show(int type) {
    String choosed = "";
    int state = -1;
    switch (type) {
    case JFileChooser.OPEN_DIALOG:
    state = showOpenDialog(parent);
    break;
    case JFileChooser.SAVE_DIALOG:
    state = showSaveDialog(parent);
    break;
    case JFileChooser.CUSTOM_DIALOG:
    state = showDialog(parent, buttonText);
    }
    if (state == JFileChooser.APPROVE_OPTION) {
    choosed = getSelectedFile().getPath();
    if (choosed.indexOf(expandName) < 0) {
    choosed = choosed + "."+expandName;
    }
    }
    return choosed;
    }
    }
    使用方法如下:
    FileChooserDialog jfc = new FileChooserDialog("xml", parent);
    jfc.setDialogTitle("Open a XML File");
    String openFile = jfc.show(JFileChooser.OPEN_DIALOG);
      

  3.   

    谢谢两位热心人,我是用jdk1.5 这个界面以前都没做过,所以无从下手,边学边做。
      

  4.   

    哪位大哥帮我写个界面,我看不懂上面的参考。我用两周时间做这个界面,领导催得紧,我不懂的如何获取路径,以及如何把路径传到 类的参数中,还有个问题就是装换成.exe可运行文件,听说jbuild里面有自带工具,我也不晓得如何使用,把.java文件转换成.exe文件!