中易网

三道JAVA上机编程题,求大神帮忙,做了很久,没做出来

答案:3  悬赏:80  
解决时间 2021-01-09 00:25
三道JAVA上机编程题,求大神帮忙,做了很久,没做出来
最佳答案
第二题 
一个doDemo方法搞定 
这个是列出D盘下所有文件及文件目录,然后再列出所有的.txt后缀的文件。


static List allList = new ArrayList();
static List txtList = new ArrayList();

public static void doDemo() {
File file = new File("D:" + File.separator);

if (null == file)
return;

allList.clear();
txtList.clear();

listAllFile(file);

for (String p : allList) {
System.out.println("file: " + p);
}

for (String txt : txtList) {
System.out.println("txt file: " + txt);
}

}

public static void listAllFile(File dir) {

if (null == dir || !dir.exists()) {
return;
}

if (dir.isDirectory()) {

File[] files = dir.listFiles();
if (null != files) {
for (int i = 0; i < files.length; i++) {

if (files[i].isDirectory()) {
listAllFile(files[i]);

} else {
String fileName = files[i].getName();

if (fileName.endsWith(".txt")) {
txtList.add(files[i].getPath());
}

allList.add(files[i].getPath());
}
}
}

} else {
allList.add(dir.getPath());
}


追问是完整的程序吗?还是一部分?追答重新优化下代码

第二题是 显示 所有文件以及文件目录,上面的demo 只显示所有文件而没有显示所有文件目录,下面的代码把目录也显示出来。
static List allList = new ArrayList();
static List txtList = new ArrayList();

public static void doDemo() {
File file = new File("F:" + File.separator);

if (null == file)
return;

allList.clear();
txtList.clear();

listAllFile(file);

for (String p : allList) {
System.out.println(p);
}

for (String txt : txtList) {
System.out.println(txt);
}

}

public static void listAllFile(File dir) {

if (null == dir || !dir.exists()) {
return;
}

if (dir.isDirectory()) {


File[] files = dir.listFiles();
if (null != files) {
for (int i = 0; i < files.length; i++) {

if (files[i].isDirectory()) {
listAllFile(files[i]);
allList.add("_____folder: " + files[i].getPath());
} else {
String fileName = files[i].getName();

if (fileName.endsWith(".txt")) {
txtList.add("txt file: " + files[i].getPath());
}

allList.add("file: " + files[i].getPath());
}
}
}

} else {

allList.add("file: " + dir.getPath());
}

}
全部回答
第2题
列出目录中所有子文件或目录 不会列出子目录下面的工具方法
public void listFile1(File files){
if(files.isFile()){
System.out.println("请给我传一个目录");
}
String[] s=files.list();
if(s.length==0){
System.out.println("空目录");
return;
}else{
for(String name:s){
System.out.println(name);
}
}
System.out.println();
}
列出.txt文件结尾的文件的工具方法:
public static void listFile3(File f){
String[] names=f.list(new FilenameFilter(){
@Override
public boolean accept(File dir, String name) {
return name.endsWith(".txt");
}

});
for(String s:names){
System.out.println(s);
}
}追问是完整的程序吗?还是一部分?

public static void listFiles(File file,List collector, String pathInclude, String fileNameInclude, String extnEquals) throws IOException {
if (file.isFile() 
&& (StringUtils.isBlank(pathInclude) || file.getAbsolutePath().indexOf(pathInclude) != -1)
&& (StringUtils.isBlank(fileNameInclude) || file.getName().indexOf(fileNameInclude) != -1)
&& (StringUtils.isBlank(extnEquals) || file.getName().endsWith(extnEquals))
){
collector.add(file);
}
if((!file.isHidden() && file.isDirectory()) && !isIgnoreFile(file)) {
File[] subFiles = file.listFiles();
for(int i = 0; i < subFiles.length; i++) {
listFiles(subFiles[i],collector, pathInclude, fileNameInclude, extnEquals);
}
}
}
这个可以帮你实现第二题的功能;追问是完整的程序吗?还是一部分?追答部分程序。完整程序这点分没人写的!追问需要多少分?你给个完整的吧,我提高分
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
0.O74至少减去多少是整数
什么乘以什么等于23什么3
我该要哪个?
我是13年在农村造的房子,房子旁边有块空地,
qq自由幻想九天神御阵有用吗??
按摩师穿着超短裙,我问她能摸吗,她说不能,
行测找规律3、2、4、1、9、7、6、8、() 选
未来星教育培训中心(罗星路)地址在什么地方,
一首说唱 男生唱的 是闽南语 第一句是古早古
查理九世1黑贝街的亡灵解密
铝板回火合适用的材料是哪种呢?
DNF蓝拳二转叫什么???
青浦到上海2月1日以后怎么乘
请问6000元该怎么配置一台相对主流的主机?
首美造型地址在什么地方,想过去办事
推荐资讯
盐城滨海有什么好玩地方!
He was so eager for success that he consul
唐朝的张鷟说,远望这座桥(赵州桥)就像"初月出
民国时期上校以上的职位排名
停车场(财达证劵小区西)地址有知道的么?有点
11o是不是可以随便出警抓人啊?
初生牛犊不怕虎是什么意思?
coc辅助工具哪个好雷
已婚女,对已婚男忽冷忽热的她这是想干嘛?
用java写一个录入客户信息!
你好,在某智培训半年,java开发现在毕业了,
请大神破解,玩了好久都破不了
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?