任意指定一个目录,统计该目录下jar文件的个数。
4个回答
2013-11-04
展开全部
就是先建个文件类
File dir_path = new File("F://");//目录自定
File[] files = dir_path.listFiles(); //这个就是统计这个目录下文件
files[i].isDirectory()) //在用这个判断其中的每个对象是不是目录
files[i].getName() //在不是目录的情况下,取得文件名
之后在用截取字符串取得扩展名,如果是.jar结尾的,就用控制变量 +1.
这就是总体构架。
File dir_path = new File("F://");//目录自定
File[] files = dir_path.listFiles(); //这个就是统计这个目录下文件
files[i].isDirectory()) //在用这个判断其中的每个对象是不是目录
files[i].getName() //在不是目录的情况下,取得文件名
之后在用截取字符串取得扩展名,如果是.jar结尾的,就用控制变量 +1.
这就是总体构架。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-11-04
展开全部
幻心 的答案接近了,但不完整,要统计一个目录下所有jar文件的个数还必须递归,代码如下:
首先得import java.io.File;
import ava.util.*;
List<String> list = new ArrayList<String>();
然后用一个函数实现递归:
void findJar(List<String> list, File dir)
{
if(dir == null)
return;
if(dir.isDirectory())
{
for(File file : dir.listFiles())
{
if(file.isDirectory())
findJar(list, file);
else
{
String path = file.getPath();
if(path.endsWith(".jar"))
list.add(path);
}
}
}
else
{
String path = dir.getPath();
if((path.endsWith(".jar"))
list.add(path);
}
}
我这个递归考虑到读文件的性能问题做了些优化,所以有点长,仔细看看吧。
首先得import java.io.File;
import ava.util.*;
List<String> list = new ArrayList<String>();
然后用一个函数实现递归:
void findJar(List<String> list, File dir)
{
if(dir == null)
return;
if(dir.isDirectory())
{
for(File file : dir.listFiles())
{
if(file.isDirectory())
findJar(list, file);
else
{
String path = file.getPath();
if(path.endsWith(".jar"))
list.add(path);
}
}
}
else
{
String path = dir.getPath();
if((path.endsWith(".jar"))
list.add(path);
}
}
我这个递归考虑到读文件的性能问题做了些优化,所以有点长,仔细看看吧。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-11-04
展开全部
先建立一个批处理文件,内容为:dir *.jar >c:\a.txt,当然路径可自定义,程序隐含执行这个批处理
然后再使用FileSystemObject对象读限txt文件的每一行即可
然后再使用FileSystemObject对象读限txt文件的每一行即可
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-11-04
展开全部
File file = new File("name");
File[] filepath = file.listFiles();
int count = 0;
for(int i = 0 ; i < filepath.length ; i++ ) {
if(filepath[i].isDirectory()) continue;
String s= filepath[i].toString();
if(s.endsWith(".jar")) count++;
}
就这么简单// over ^_^
File[] filepath = file.listFiles();
int count = 0;
for(int i = 0 ; i < filepath.length ; i++ ) {
if(filepath[i].isDirectory()) continue;
String s= filepath[i].toString();
if(s.endsWith(".jar")) count++;
}
就这么简单// over ^_^
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询