我有一个家庭作业要做,我不知道如何开始。我必须从外部文本文件中读取一些随机文件夹的路径。即使我更改了计算机,也必须使此文件夹的路径可用。
然后,我必须在控制台中输出在每个文件夹中找到的mp3文件的数量。
我最大的问题是,我不知道如何让这些路径在我运行程序的每一台计算机上工作,我也不知道如何过滤内容。
稍后编辑:我已经设法写了一些代码。我现在可以搜索mp3但是..。有没有人可以帮我解决这个问题:如何从键盘向txt文件添加新路径,以及如何从其中删除整行?
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
String ext = ".mp3";
BufferedReader br = new BufferedReader(new FileReader("Monitor.txt"));
for (String line; (line = br.readLine()) != null;) {
findFiles(line, ext);
}
br.close();
}
private static void findFiles(String dir, String ext) {
File file = new File(dir);
if (!file.exists())
System.out.println(dir + " No such folder folder");
File[] listFiles = file.listFiles(new FiltruTxt(ext));
if (listFiles.length == 0) {
System.out.println(dir + " no file with extension " + ext);
} else {
for (File f : listFiles)
System.out.println("Fisier: " + f.getAbsolutePath());
}
}
}
import java.io.File;
import java.io.FilenameFilter;
public class FiltruTxt implements FilenameFilter{
private String ext;
public FiltruTxt(String ext){
this.ext = ext.toLowerCase();
}
@Override
public boolean accept(File dir, String name) {
return name.toLowerCase().endsWith(ext);
}
}发布于 2015-01-14 23:29:27
我认为“即使我改变计算机也可以使用”意味着你需要从文件中读取路径,而不是在你的程序中硬编码,所以如果你在其他计算机上运行,你只需要改变文本文件,而不是程序。
但正如@AndréStannek在他的评论中所说的那样,你必须在你的问题中添加你尝试过的东西,以及你面临的确切编程问题是什么。
当你面对一个问题时,试着把它分成更多的小问题。例如:
然后尝试寻找一个解决方案(如果你不能思考的话)。例如在堆栈溢出中,google,当然还有官方文档中。
官方文档:
stackoverflow中的一些问题:
或此链接来自互联网:
这是您在学习时会发现非常有用的Java教程的门户:http://docs.oracle.com/javase/tutorial/index.html
https://stackoverflow.com/questions/27946299
复制相似问题