监视mp3的文件夹

时间:2015-01-14 15:18:47

标签: java eclipse

我有功课要做,我不知道怎么开始。我必须从外部文本文件中读取一些随机文件夹的路径。即使我更换电脑,我也必须为这个文件夹提供路径。

然后我必须在控制台中输出每个文件夹中找到的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);
     }

 }

1 个答案:

答案 0 :(得分:0)

我认为“即使我更换计算机也可用”意味着你需要从文件中读取路径而不是在程序上硬编码,所以如果你在其他计算机上运行,​​你只需要更改文本文件和不是该计划。

但正如@AndréStannek在评论中所说,你必须在问题中添加你尝试过的内容以及你面临的确切编程问题。

当您遇到问题时,请尝试将其划分为个别问题和更小问题。例如:

  1. 如何从控制台读取一行?
  2. 如何将新行写入文件?
  3. 然后尝试搜索解决方案(如果你不能一个人思考)。例如,在堆栈溢出,谷歌,当然还有官方文档。

    官方文件:

    stackoverflow中的一些问题:

    或者来自互联网的链接:

    这是Java教程的门户,您将在学习时发现它非常有用:http://docs.oracle.com/javase/tutorial/index.html