File f = File(String pathname);
通过将给定路径名字符串转换成抽象路径名来创建一个新 File 实例。
fgetPath(); 就可以了
如果你要选择文件 可以用 JFileChooser
然后可以 调用getSelectedFile()getPath();返回路径!
不懂再问!
//根据你的要求修改了一下代码,现在已经能将某文件夹下的所有指定类型文件复制到
//指定文件夹下了
import javaioBufferedInputStream;
import javaioBufferedOutputStream;
import javaioFile;
import javaioFileInputStream;
import javaioFileOutputStream;
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 = SystemcurrentTimeMillis();
scanDir(SRC_DIR, DES_DIR);
Systemoutprintln("共花费时间:"+(SystemcurrentTimeMillis() - a)/1000+"秒");
}
public static void scanDir(String srcPath, String desPath) {
File dir = new File(srcPath);
File[] files = dirlistFiles();
if (files == null)
return;
for (int i = 0; i < fileslength; 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 (srcNameendsWith(FILTER)) {
Systemoutprintln("正在复制文件 "+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 = inread(buffer)) != -1) {
outwrite(buffer, 0, i);
}
outclose();
inclose();
} catch (Exception ex) {
exprintStackTrace();
}
}
}
}
获取指定路径下的指定格式的文件
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
第一步: 先获得classpath路径
String classpath = thisgetClass()getResource("/")getPath()replaceFirst("/", "");这样子可以得到classpath路径,类似于:
F:/projects/JavaStudyParent/study-springmvc-junit-test/target/springmvc-junit-test/WEB-INF/classes/
然后把WEB-INF/classes截取就能获得WebAPP目录啦:
String webappRoot = classpathreplaceAll("WEB-INF/classes/", "");得到的结果就是:
F:/projects/JavaStudyParent/study-springmvc-junit-test/target/springmvc-junit-test/
通过这个路径你就能获取该文件夹下的所有文件啦
package comhmilyldexp;
import javaioFile;
public class ListFile {
private long[] count = new long[] ;
private File file;
private long[] listFile(String path) {
file = new File(path);
File[] f = filelistFiles();
for (int i = 0; i < flength; i++) {
if (f[i]isDirectory()) {
count[0]++;
thislistFile(f[i]getPath());
} else {
count[1]++;
}
}
return count;
}
/
得到指定路径下的文件和文件夹数量
@param path
要查看的路径
@return object[0]耗时(毫秒)<br>
object[1]文件夹数量<br>
object[2]文件数量
/
public Object[] getFileCount(String path) {
long t = SystemcurrentTimeMillis();
long[] count = thislistFile(path);
t = SystemcurrentTimeMillis() - t;
Object[] o = new Object[] { LongvalueOf(t), LongvalueOf(count[0]),
LongvalueOf(count[1])};
return o;
}
public static void main(String[] args) {
ListFile l = new ListFile();
Object[] count = lgetFileCount("d:\\");
Systemoutprintln(count[0]);
Systemoutprintln(count[1]);
Systemoutprintln(count[2]);
}
}
以前写的一个获取目录下有多少文件和多少文件夹的代码,
可以参考下:)
以上就是关于Java获取Windows系统文件夹路径全部的内容,包括:Java获取Windows系统文件夹路径、java 怎么获取指定路径下的文件、Java实现获取指定路径下的指定格式的文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)