三道JAVA上机编程题,求大神帮忙,做了很久,没做出来
答案:3 悬赏:80
解决时间 2021-01-09 00:25
- 提问者网友:最爱你的唇
- 2021-01-08 08:32
三道JAVA上机编程题,求大神帮忙,做了很久,没做出来
最佳答案
- 二级知识专家网友:刀戟声无边
- 2021-01-08 09:26
第二题
一个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());
}
}
一个doDemo方法搞定
这个是列出D盘下所有文件及文件目录,然后再列出所有的.txt后缀的文件。
static List
static List
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
static List
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());
}
}
全部回答
- 1楼网友:一叶十三刺
- 2021-01-08 11:23
第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 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);
}
}追问是完整的程序吗?还是一部分?
- 2楼网友:怙棘
- 2021-01-08 10:56
public static void listFiles(File file,List
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);
}
}
}
这个可以帮你实现第二题的功能;追问是完整的程序吗?还是一部分?追答部分程序。完整程序这点分没人写的!追问需要多少分?你给个完整的吧,我提高分
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯