2015-01-14 74 views
0

我有作業要做,我不知道如何開始。我必須從外部文本文件讀取一些隨機文件夾的路徑。即使我更換電腦,我也必須讓這個文件夾的路徑可用。監聽MP3文件夾

然後,我必須在控制檯中輸出在每個文件夾中找到的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); 
    } 

} 
+1

歡迎使用stackoverflow。在這個網站上,我們試圖幫助解決特定的編程問題,這意味着您必須自己展示一些努力。在你的情況下,嘗試編寫一些代碼,如果你被困在某個部分,告訴我們該代碼並解釋什麼是不工作的。 –

+0

夠公平的!我會嘗試發佈一些代碼。 – alexoiu

+0

我已經添加了一些代碼! – alexoiu

回答

0

我認爲,隨着「可即使我換電腦」的意思是,你需要從文件中讀取路徑,而不是硬編碼在你的程序,所以如果你在其他計算機上運行,​​你只需要改變文本文件而不是程序。

但正如@AndréStannek在他的評論中所說的那樣,您必須在您的問題中添加您嘗試了什麼,以及您面臨的確切編程問題是什麼。

當您遇到問題時,嘗試將其分爲單個問題和更多小問題。例如:

  1. 如何從控制檯讀取一行?
  2. 如何將新行寫入文件?

然後嘗試搜索一個解決方案(如果你不能在一個思考)。例如在堆棧溢出,谷歌和當然在官方文檔。

的官方文檔:

計算器中的一些問題:

或者從互聯網上這個鏈接:

這是你會發現非常有用,當你正在學習的Java教程的網站:http:http://docs.oracle.com/javase/tutorial/index.html

+0

這是一條評論不是答案 –

+0

第二段是,但第一條是我認爲是他的問題的答案。我認爲「如何讓這些路徑適用於每臺計算機」是因爲他不認爲文本文件中的路徑可能會從計算機更改爲計算機。 – PhoneixS

+0

我已經添加了一些代碼,並且有一些新問題! – alexoiu