「java筛选文件」java listfiles筛选
今天给各位分享java筛选文件的知识,其中也会对java listfiles筛选进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java筛选中常见问题
- 2、java如何实现文件搜索功能
- 3、用java基础代码写这样一个程序:打开txt文件,对这个TXT文件进行信息筛选,然后输入到另一个新的txt文件
- 4、java中文件浏览对话框中怎么过滤文件类型
- 5、Java名字筛选程序
- 6、Java实现获取指定路径下的指定格式的文件
java筛选中常见问题
死循环。
筛选文件时由于文件命名方式会使用循坏进行筛选,如果没有添加break,会使代码一直运行下去陷入死循环。
以下也是Java中经常见的问题,junit用法,before,beforeClass,after, afterClass的执行顺序,分布式锁,nginx的请求转发算法,如何配置根据权重转发,用hashmap实现redis有什么问题死锁,死循环,可用ConcurrentHashmap,线程的状态,线程的阻塞的方式,sleep和wait的区别,hashmap的底层实现,一万个人抢100个红包,如何实现不用队列,如何保证2个人不能抢到同一个红包,可用分布式锁, java内存模型,垃圾回收机制,不可达算法,两个Integer的引用对象传给一个swap方法在方法内部交换引用,返回后,两个引用的值是否会发现变化。
java如何实现文件搜索功能
java实现文件搜索主要使用file类和正则表达式,如下示例:
package com.kiritor.util;
import java.io.File;
import java.io.FileFilter;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
/**
* 文件的相关操作类
*
* @author Kiritor
*/
public class FileOperation {
private static String contentPath;
private static String filePath;
private static File[] fileList = null;// 保存文件列表,过滤掉目录
public FileOperation() {
}
/** 构造函数的参数是一个目录 */
public FileOperation(String path) {
File file = new File(path);
if (file.isDirectory())
this.contentPath = path;
else
this.filePath = path;
}
/**获取文件列表*/
public static File[] getFiles() {
if (contentPath == null) {
File file = new File(filePath);
fileList = new File[1];
fileList[0] = file;
return fileList;
}
fileList = new File(contentPath).listFiles(new FileFilter() {
/**使用过滤器过滤掉目录*/
@Override
public boolean accept(File pathname) {
if(pathname.isDirectory())
{
return false;
}else
return true;
}
});
return fileList;
}
/** 对当前目录下的所有文件进行排序 */
public static File[] sort() {
getFiles();
Arrays.sort(fileList, new FileComparator());
return fileList;
}
public static void tree(File f, int level) {
String preStr = "";
for(int i=0; ilevel; i++) {
preStr += " ";
}
File[] childs = f.listFiles();
//返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。
for(int i=0; ichilds.length; i++) {
System.out.println(preStr + childs[i].getName());
if(childs[i].isDirectory()) {
tree(childs[i], level + 1);
}
}
}
// 提供一个"比较器"
static class FileComparator implements java.util.ComparatorFile {
@Override
public int compare(File o1, File o2) {
// 按照文件名的字典顺序进行比较
return o1.getName().compareTo(o2.getName());
}
}
}
用java基础代码写这样一个程序:打开txt文件,对这个TXT文件进行信息筛选,然后输入到另一个新的txt文件
用bufferReader读取,按行获取,获取到用split分割取第第三个,同时准备一个Mapint, int,key存储数据,value存储出现的次数。
存放是先map.get(此时的第三行数据),没有获取到表示之前还没有出现这个数,就作为key放进去,并将value设置为1,如果get到了,就将这个key的value加1,如此循环直到读完这个文件。
之后得到的map,你可以自行处理了。
java中文件浏览对话框中怎么过滤文件类型
JFileChooser chooser = new JFileChooser();
FileNameExtensionFilter filter = new FileNameExtensionFilter(
"JPG GIF Images", "jpg", "gif");
chooser.setFileFilter(filter);
int returnVal = chooser.showOpenDialog(parent);
if(returnVal == JFileChooser.APPROVE_OPTION) {
System.out.println("You chose to open this file: " +
chooser.getSelectedFile().getName());
}
JFileChooser就可以实现文件选择,但是只显示指定的文件类型的过滤类FileNameExtensionFilter只是JDK1.6版本里的,JDK1.4及其以下是没有的,如果想在JDK1.4里实现过滤,可以去1.6版本里找到该源码,自己编译使用
Java名字筛选程序
import java.io.*;
import java.util.ArrayList;
import java.util.List;
/**
* @author poet.x
* 2014/11/16
*/
public class FindName {
public static void main(String[] args) throws IOException {
if(args.length != 2 args[0] != null args[1] != null !args[0].isEmpty() !args[1].isEmpty() ){
throw new IllegalArgumentException("参数不对!");
}
String fileName = args[0]; // 文件名,带路径
String toFindStr = args[1]; // 需要查找的姓
File file = new File(fileName);
FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
String name = null;
// 用于存放结果
ListString results = new ArrayListString();
while((name = br.readLine()) != null ){
if( name == null || name.isEmpty() )
continue;
if(name.startsWith("王"))
results.add(name);
}
FileWriter fw = new FileWriter("王.txt");
for(String s : results){
fw.write(s);
fw.write("\r\n");
}
fw.flush();
fw.close();
}
}
编译时,使用 javac -encoding UTF-8 FindName.java ,这样可以防止编译时报GBK编码错误
Java实现获取指定路径下的指定格式的文件
获取指定路径下的指定格式的文件
package filenameFilter;
import java io File;
/* * 实现功能 *
获取指定路径下的指定格式的文件
* */
public class Test {
public static void listPath(File file) {
// 接收筛选过后的文件对象数组
//用文件对象调用listFiles(FilenameFilter filter) 方法
//返回抽象路径名数组 这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录
File files[] = file listFiles(new MyFilenameFilter())
/*//遍历出指定文件路径下符合条件的文件
for (File f : files) {
System out println(f)
}*/
//遍历出指定文件路径下的所有符合筛选条件的文件
for(File f: files){
if(f isDirectory()){
listPath(f)
}else{
System out println(f)
}
}
}
public static void main(String[] args) {
// 创建指定目录的文件对象
File file = new File( F:\\test )
// 调用文件晒筛选的方法 并将文件对象出入
listPath(file)
} }
package filenameFilter;
import java io File;
import java io FilenameFilter;
//实现FilenameFilter接口 可用于过滤器文件名 //本方法实现的是筛选指定格式结尾的文件 public class MyFilenameFilter implements FilenameFilter {
/**
* @param args
*
*
实现功能 实现FilenameFilter接口 定义出指定的文件筛选器
*
*/
@Override
//重写accept方法 测试指定文件是否应该包含在某一文件列表中
public boolean accept(File dir String name) {
// TODO Auto generated method stub
// 创建返回值
boolean flag = true;
// 定义筛选条件
//endWith(String str) 判断是否是以指定格式结尾的
if (name toLowerCase() endsWith( jpg )) {
} else if (name toLowerCase() endsWith( txt )) {
} else if (name toLowerCase() endsWith( gif )) {
} else {
flag = false;
}
// 返回定义的返回值
//当返回true时 表示传入的文件满足条件
return flag;
}
lishixinzhi/Article/program/Java/hx/201311/26918
java筛选文件的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java listfiles筛选、java筛选文件的信息别忘了在本站进行查找喔。