「java取得文件」Java 获取文件
今天给各位分享java取得文件的知识,其中也会对Java 获取文件进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
怎样在Java里取得满足条件的文件列表
Java通过File.listFiles/list方法来列出目录下的文件列表。下面介绍File.listFiles方法的用法。File.list的用法也基本一样。
File.listFiles方法有三种形式,
public File [] listFiles()
无参数的listFiles将返回所有文件,包括子文件与子目录。
public File [] listFiles(java.io.FilenameFilter)
java.io.FilenameFilter:文件名过滤器接口。过滤器必须实现此接口。该接口定义了一个
public boolean accept(File file, String filename)方法,第一个参数File
file为正在被过滤的文件,第二个参数为正在被过滤的文件名。FilenameFilter.accept返回false的文件会被过滤掉。
该方法返回匹配FilenameFilter所指定条件的文件
public File [] listFiles(java.io.FileFilter)
public boolean accept(File file)方法,第一个参数File file为正在被过滤的文件。FileFilter.accept返回false的文件会被过滤掉。
该方法返回匹配FileFilter所指定条件的文件。
下面我们通过举例说明后2个方法的用法。
取得指定扩展名的文件列表:
public static FilenameFilter getFileExtensionFilter(String extension) {
final String _extension = extension;
return new FilenameFilter() {
public boolean accept(File file, String name) {
boolean ret = name.endsWith(_extension);
return ret;
}
};
}
File file = new File("c:\\");
File[] zipFiles = file.listFiles(getFileExtensionFilter(".zip"));
public static FilenameFilter getFileExtensionFilter(String extension) { final String _extension = extension; return new FilenameFilter() { public boolean accept(File file, String name) { boolean ret = name.endsWith(_extension); return ret; } }; } File file = new File("c:\\"); File[] zipFiles = file.listFiles(getFileExtensionFilter(".zip"));
取得文件名满足所指定的规则表达式的文件列表
public static FilenameFilter getFileRegexFilter(String regex) {
final String regex_ = regex;
return new FilenameFilter() {
public boolean accept(File file, String name) {
boolean ret = name.matches(regex_);
return ret;
}
};
}
File file = new File("c:\\");
//取得文件名为8个数字,扩展名为.html的文件
File[] numberHtmlFiles = file.listFiles(getFileRegexFilter("[0-9]{8}\\.html"));
public static FilenameFilter getFileRegexFilter(String regex) { final String regex_ = regex; return new FilenameFilter() { public boolean accept(File file, String name) { boolean ret = name.matches(regex_); return ret; } }; } File file = new File("c:\\"); //取得文件名为8个数字,扩展名为.html的文件 File[] numberHtmlFiles = file.listFiles(getFileRegexFilter("[0-9]{8}\\.html"));
取得非目录的文件列表:
public static FileFilter getNotDirFileFilter() {
return new FileFilter() {
public boolean accept(File file) {
return file.isFile();
}
};
}
File file = new File("c:\\");
File[] notDirFiles = file.listFiles(getNotDirFileFilter());
Java如何获取文件的内容类型
如果是要获取文件的类型格式的,先取得文件的名字,然后通过字符串截取(从最后一一个点开始截取)。
File file =new File("");
String fileName=File.getName();
fileName.subString(fileName.lastIndexOf("."));
java 怎么获取指定路径下的文件
//根据你的要求修改了一下代码,现在已经能将某文件夹下的所有指定类型文件复制到
//指定文件夹下了
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
public class ReadFiles {
public static final String FILTER = "xml";
public static final String SRC_DIR = "E:\\StudyData";// 待扫描的文件夹
public static final String DES_DIR = "E:\\testdata";// 复制后的目标文件夹
public static void main(String[] args) {
long a = System.currentTimeMillis();
scanDir(SRC_DIR, DES_DIR);
System.out.println("共花费时间:"+(System.currentTimeMillis() - a)/1000+"秒");
}
public static void scanDir(String srcPath, String desPath) {
File dir = new File(srcPath);
File[] files = dir.listFiles();
if (files == null)
return;
for (int i = 0; i files.length; i++) {
if (files[i].isDirectory()) {
scanDir(files[i].getAbsolutePath(), desPath);
} else {
String strFileName = files[i].getAbsolutePath().toLowerCase();
copyFile(strFileName, desPath + files[i].getName());
}
}
}
public static void copyFile(String srcName, String destName) {
if (srcName.endsWith(FILTER)) {
System.out.println("正在复制文件 "+srcName+" 至 "+destName);
try {
BufferedInputStream in = new BufferedInputStream(
new FileInputStream(srcName));
BufferedOutputStream out = new BufferedOutputStream(
new FileOutputStream(destName));
int i = 0;
byte[] buffer = new byte[2048];
while ((i = in.read(buffer)) != -1) {
out.write(buffer, 0, i);
}
out.close();
in.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
}
java取得文件的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于Java 获取文件、java取得文件的信息别忘了在本站进行查找喔。