我写了一个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\\");
}
}
为了操作方便我需要一个界面,主要功能就是通过鼠标点击“浏览”然后 弹出文件选择对话框,分别选择读取和写入的文件夹,把这两个文件夹路径作为参数传递。具体代码如下: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\\");
}
}
javax.swing.filechooser下面的类应该能帮到你
1.4里面有个FileChooser的类
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);