「java取得文件」Java 获取文件

博主:adminadmin 2023-01-26 10:12:07 357

今天给各位分享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取得文件的信息别忘了在本站进行查找喔。