我有功课要做,我不知道怎么开始。我必须从外部文本文件中读取一些随机文件夹的路径。即使我更换电脑,我也必须为这个文件夹提供路径。
然后我必须在控制台中输出每个文件夹中找到的mp3文件的数量。
我的一个大问题是,我不知道如何让这些路径适用于我运行程序的每台计算机,而且我不知道如何过滤内容。
LATER EDIT:我设法编写了一些代码。我现在可以搜索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);
}
}
答案 0 :(得分:0)
我认为“即使我更换计算机也可用”意味着你需要从文件中读取路径而不是在程序上硬编码,所以如果你在其他计算机上运行,你只需要更改文本文件和不是该计划。
但正如@AndréStannek在评论中所说,你必须在问题中添加你尝试过的内容以及你面临的确切编程问题。
当您遇到问题时,请尝试将其划分为个别问题和更小问题。例如:
然后尝试搜索解决方案(如果你不能一个人思考)。例如,在堆栈溢出,谷歌,当然还有官方文档。
官方文件:
stackoverflow中的一些问题:
或者来自互联网的链接:
这是Java教程的门户,您将在学习时发现它非常有用:http://docs.oracle.com/javase/tutorial/index.html