⑴ java 查找特定文件中文件数目及其对应的文件类型
importjava.io.File;
importjava.util.Scanner;
publicclassFileTest{
/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
Scannersc=newScanner(System.in);
StringfileName=sc.next();
Filefile=newFile(fileName);
if(file.exists()){
if(file.isDirectory()){
String[]list=file.list();
System.out.println(list.length);
for(Stringstring:list){
System.out
.println(string
.substring(string.lastIndexOf(".")>=0?string
.lastIndexOf("."):0));
}
}else{
System.out.println("不是文件夹");
}
}else{
System.out.println("文件不存在");
}
}
}
⑵ java如何查找指定目录下的最新文件,例如D://my目录下的最新文件,最好能给我详细的代码
File file=new file(“目录”);
for(FIle f:file。filelist()){
long time=f。lastModified() //得到文件修改日期
将time put 到treemap<time,file>
}
取treemap最后一个值即最新文件!
⑶ java中如何在某一路径下查找文件
这是我在jdk5.0的api里找的
listFiles
public File[] listFiles()返回一个抽象路径名数组,这些路径名表示此抽象路径名所表示目录中的文件。
如果此抽象路径名并不表示一个目录,则此方法将返回 null。否则,为目录中的每个文件或目录返回一个 File 对象数组。表示目录本身及其父目录的路径名不包括在结果中。得到的每个抽象路径名都是根据此抽象路径名,使用 File(File, String) 构造方法构造。所以,如果此路径名是绝对路径名,则得到的每个路径名都是绝对路径名;如果此路径名是相对路径名,则得到的每个路径名都是相对于同一目录的路径名。
不保证所得数组中的相同字符串将以特定顺序出现,特别是不保证它们按字母顺序出现。
返回:
表示此抽象路径名所表示目录中的文件和目录的抽象路径名数组。如果目录为空,则数组也将为空。如果抽象路径名不表示一个目录,或者发生 I/O 错误,则返回 null。
抛出:
SecurityException - 如果存在安全管理器,且其 SecurityManager.checkRead(java.lang.String) 方法拒绝对目录进行读取访问
⑷ java 如何在指定文件夹下查找文件
Windows下JAVA环境变量的设置祥解
Windows下JAVA用到的环境变量主要有3个,JAVA_HOME、CLASSPATH、PATH。下面逐个分析。
JAVA_HOME指向的是JDK的安装路径,如x:\JDK_1.4.2,在这路径下你应该能够找到bin、lib等目录。值得一提的是,JDK的安装路径可以选择任意磁盘目录,不过建议你放的目录层次浅一点,如果你放的目录很深,比如x:\XXXXXX\xxxxx\XXXX\xxxx\XXXX\xxxx\XXXX\xxx……
那么,下面的步骤和以后的应用你都要受累了,呵呵。设置方法:
JAVA_HOME=x:\JDK_1.4.2
PATH环境变量原来Windows里面就有,你只需修改一下,使他指向JDK的bin目录,这样你在控制台下面编译、执行程序时就不需要再键入一大串路径了。设置方法是保留原来的PATH的内容,并在其中加上%JAVA_HOME%\bin
(注,如果你对DOS批处理不了解,你可能不明白%%引起来的内容是什么意思;其实这里是引用上一步设定好的环境变量JAVA_HOME,你写成x:\JDK_1.4.2也是可以的;你可以打开一个控制台窗口,输入echo
%JAVA_HOME%来看一下你的设置结果) :
PATH=%JAVA_HOME%\bin;%PATH%
同样,%PATH%是引用以前你设置的PATH环境变量,你照抄以前的值就行了。
CLASSPATH环境变量我放在最后面,是因为以后你出现的莫名其妙的怪问题80%以上都可能是由于CLASSPATH设置不对引起的,所以要加倍小心才行。
CLASSPATH=.\;%JAVA_HOME%\lib\tools.jar
首先要注意的是最前面的".\;",如果你看不清,我给你念念——句点反斜杠分号。这个是告诉JDK,搜索CLASS时先查找当前目录的CLASS文件——为什么这样搞,这是由于LINUX的安全机制引起的,LINUX用户很明白,WINDOWS用户就很难理解(因为WINDOWS默认的搜索顺序是先搜索当前目录的,再搜索系统目录的,再搜索PATH环境变量设定的)
,所以如果喜欢盘根究底的朋友不妨研究一下LINUX。
为什么CLASSPATH后面指定了tools.jar这个具体文件?不指定行不行?显然不行,行的话我还能这么罗索嘛!:)
这个是由java语言的import机制和jar机制决定的,你可以查资料解决。
呵呵,具体的设定方法: win2k\xp用户右键点击我的电脑->属性->高级->环境变量,修改下面系统变量那个框里的值就行了。
win9x用户修改autoexec.bat文件,在其末尾加入:
set JAVA_HOME=x:\JDK_1.4.2
set PATH=%JAVA_HOME%\bin;%PATH%
set CLASSPATH=.\;%JAVA_HOME%\lib\tools.jar
⑸ Java:找出指定文件夹里的文件名!
importjava.io.File;
/*
*获取功能:
*publicString[]list():获取指定目录下的所有文件或者文件夹的名称数组
*publicFile[]listFiles():获取指定目录下的所有文件或者文件夹的File数组
*/
publicclassFileDemo{
publicstaticvoidmain(String[]args){
//指定一个目录
Filefile=newFile("e:\");
//publicString[]list():获取指定目录下的所有文件或者文件夹的名称数组
String[]strArray=file.list();
for(Strings:strArray){
System.out.println(s);
}
System.out.println("------------");
//publicFile[]listFiles():获取指定目录下的所有文件或者文件夹的File数组
File[]fileArray=file.listFiles();
for(Filef:fileArray){
System.out.println(f.getName());
}
}
}
⑹ java怎么查询指定路径下所有文件夹
Java程序中读取某个目录下的所有文件(下面以D盘下的文件夹为例),代码如下:
import java.io.File;
public class Test1 {
public static void main(String[] args) {
String path="D://";
File file=new File(path);
File[] tempList = file.listFiles();
System.out.println("该目录下对象个数:"+tempList.length);
for (int i = 0; i < tempList.length; i++) {
if (tempList[i].isFile()) {
//读取某个文件夹下的所有文件
System.out.println("文件:"+tempList[i]);
}
if (tempList[i].isDirectory()) {
//读取某个文件夹下的所有文件夹
System.out.println("文件夹:"+tempList[i]);
}
}
}
}
⑺ java如何查找目录下是否有特定文件
package com.cn.leng;
import java.io.File;
import java.io.FilenameFilter;
public class ListFile {
private String filepre;//文件前缀
private String filesux;//文件后缀
public void listFile(String dir, String prefix, String suffix){
File fileTarget = new File(dir);//取得目标目录
filepre = prefix;
filesux =suffix;
if(fileTarget.exists()){//判断目录是否存在
File[] fileLogs = fileTarget.listFiles(
new FilenameFilter(){
public boolean accept(File dir, String name) {
return ((name.startsWith(filepre))&&(name.endsWith(filesux)));//使用FilenameFilter类过滤取得满足指定条件的文件的文件数组
}
}
);
if(fileLogs.length > 0){
for(int i = 0; i<fileLogs.length; i++){
System.out.println(fileLogs[i].getName());
}
}else{
System.err.println("we cant find the file start with:"+ prefix);
System.exit(0);
}
}else{
System.err.print("we cant find the path:"+ fileTarget);
}
}
public static void main(String[] args) {
ListFile lf = new ListFile();
lf.listFile("C:\swserver\ipe113\logs","eai","log");
}
}
⑻ java获取指定资源文件路径的几种方法
你好,提问者:
指定资源路径的方法有两种:
一种是绝对路径,一种是相对路径。
获取当前类的所在工程路径;
Filef=newFile(this.getClass().getResource("/").getPath());
System.out.println(f);
获取当前类的绝对路径;
Filef=newFile(this.getClass().getResource("").getPath());
System.out.println(f);
获取当前类的所在工程路径;
Filedirectory=newFile("");//参数为空
StringcourseFile=directory.getCanonicalPath();
System.out.println(courseFile);
获取当前工程src目录下selected.txt文件的路径:
URLxmlpath=this.getClass().getClassLoader().getResource("selected.txt");
System.out.println(xmlpath);
⑼ JAVA的递归查询指定后缀名文件的问题
你的程序只打印指定目录下的“.java”文件,是因为dir.listFiles(new FilenameFilter());只返回过滤后的文件列表,所以返回的是指定目录下的“.java”文件
你的程序我帮你改好了,你看看吧
importjava.io.*;
classtest2
{
publicstaticvoidmain(String[]args)
{
Filefi=newFile("D:\BD\java2016");//指定查找目录
showdir(fi);
}
publicstaticvoidshowdir(Filedir)//定义一个返回目录中所有文件的方法showdir
{
if(dir.isDirectory())
{//判断是否目录,
File[]files=dir.listFiles(newFilenameFilter()//定义过滤器,过滤文件类型为.java的文件
{
publicbooleanaccept(Filedir,Stringname)
{
returnname.endsWith(".java");
}
});
for(intx=0;x<files.length;x++)//打印以.java结尾的文件名
{
System.out.println(files[x]);
}
File[]files1=dir.listFiles();//定义没有过滤器的文件列表
for(intx=0;x<files1.length;x++)
{
if(files1[x].isDirectory())//如果是目录则递归调用showdir方法,不是目录则忽略
showdir(files1[x]);
}
}
}
}