java 选择加载或保存本地文件

在用到java进行文件的选择和保存时,我们可以利用java的JFileChooser。

首先是java选择加载本地文件

package com.file;
import java.io.File;
import javax.swing.JFileChooser;
import javax.swing.filechooser.FileFilter;
import com.file.WaveFileReader;
import com.tuxin.test;

public class fileselect {

	public void select() {
	//首先是创建JFileChooser 对象,里面带个参数,表示默认打开的目录,这里是默认打开当前文件所在的目录。
	JFileChooser file = new JFileChooser (".");
	//下面这句是去掉显示所有文件这个过滤器。
	file.setAcceptAllFileFilterUsed(false);
	//添加音频文件的过滤器
	file.addChoosableFileFilter(new ExcelFileFilter("wav"));
	int result = file.showOpenDialog(null);
	//JFileChooser.APPROVE_OPTION是个整型常量,代表0。就是说当返回0的值我们才执行相关操作,否则什么也不做。
	if(result == JFileChooser.APPROVE_OPTION)
	{
	//获得你选择的文件绝对路径。并输出。
		test ts=new test();
		File filee=file.getSelectedFile();
	   String path = file.getSelectedFile().getAbsolutePath();
	   //String filename=file.getSelectedFile().getName();
	   ts.drawWaveFile(filee);
	   System.out.println(path);
	}
	else
	{
	    System.out.println("你已取消并关闭了窗口!");
    }
   }
}

这时可以利用java代码来选择文件列表要显示的文件(如.doc  .xls  .txt)
package com.file;

import java.io.File;

import javax.swing.filechooser.FileFilter;

public class ExcelFileFilter extends FileFilter {

	String ext;
	//构造方法的参数是我们需要过滤的文件类型。比如excel文件就是 xls,exe文件是exe.
	ExcelFileFilter(String ext) {
	   this.ext = ext;
	}
	 @Override
     public boolean accept(File arg0) {
         // TODO Auto-generated method stub
         if(arg0.getName().endsWith(".wav" )|| arg0.isDirectory())
             return true;
         return false;
     }

     @Override
     public String getDescription() {
         // TODO Auto-generated method stub
         return "波形文件(.wav)";
     }

}


接下来实现文件的保存
JFileChooser chooser=new JFileChooser();
		FileNameExtensionFilter filter=new FileNameExtensionFilter("*.txt", "txt");
		FileNameExtensionFilter filter1=new FileNameExtensionFilter("*.doc", "doc");
		JFileChooser jFileChooser=new JFileChooser();
		jFileChooser.setFileFilter(filter);
		jFileChooser.setFileFilter(filter1);
		int result=jFileChooser.showSaveDialog(null);
		if (result==JFileChooser.APPROVE_OPTION)
		{
			File a=jFileChooser.getSelectedFile();
			System.out.println(a.getPath());
			if (!a.getName().endsWith(".txt")) 
			{
				a=new File(a.getPath()+".txt");
				System.out.println(a.getPath());
			}
		}


猜你喜欢

转载自blog.csdn.net/douzizuibang/article/details/27174943
今日推荐