저는 Java를 처음 사용하면서 분실했습니다. 내가 파일에서 읽은 INT 값의 합계를 계산하는 방법을 찾아야한다, 메소드 getTotalMinutes에Java BufferedReader readline은 파일의 값을 계산합니다.
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
/**
*
* @author Darwish
*/
public class M3UReader {
/**
* @param args the command line arguments
*/
public static boolean isValidHeader(String playList)
{
boolean returnValue = false;
BufferedReader br;
try
{
br = new BufferedReader(new FileReader(new File(playList)));
String s = br.readLine(); // declares the variable "s"
if(s.startsWith("#EXTM3U")) { // checks the line for this keyword
returnValue = true; // if its found, return true
}
br.close();
}
catch (Exception e)
{
System.err.println("isValidHeader:: error with file "+ playList + ": " + e.getMessage());
}
return returnValue;
}
public static int getNumberOfTracks(String playList)
{
int numberOfTracks = 0; // sets the default value to zero "0"
try
{
BufferedReader br = new BufferedReader(new FileReader(new File(playList)));
String s;
while((s = br.readLine())!=null) // if "s" first line is not null
{
if(s.startsWith("#")==false) { // if the first line starts with "#" equals to false.
numberOfTracks++; // increments
}
}
br.close();
}
catch (Exception e)
{
numberOfTracks = -1; // chek if the file doesnt exist
System.err.println("could not open/read line from/close filename "+ playList);
}
return numberOfTracks;
}
public static int getTotalMinutes(String playList)
{
// code needed here
}
public static void main(String[] args) {
// TODO code application logic here
String filename = "files\\playlist.m3u"; // finds the file to read (filename <- variable declaration.)
boolean isHeaderValid = M3UReader.isValidHeader(filename); // declares the variabe isHeaderValid and links it with the class isValidHeader
System.out.println(filename + "header tested as "+ isHeaderValid); // outputs the results
if(isHeaderValid)
{
int numOfTracks = M3UReader.getNumberOfTracks(filename);
System.out.println(filename + " has "+ numOfTracks + " tracks ");
}
}
}
:
나는이 코드를 가지고있다. 이 파일의 데이터는 다음과 같습니다.
#EXTM3U
#EXTINF:537,Banco De Gaia - Drippy F:\SortedMusic\Electronic\Banco De Gaia\Big Men Cry\01 Drippy.mp3
#EXTINF:757,Banco De Gaia - Celestine F:\SortedMusic\Electronic\Banco De Gaia\Big Men Cry\02 Celestine.mp3
#EXTINF:565,Banco De Gaia - Drunk As A Monk F:\SortedMusic\Electronic\Banco De Gaia\Big Men Cry\03 Drunk As A Monk.mp3
#EXTINF:369,Banco De Gaia - Big Men Cry F:\SortedMusic\Electronic\Banco De Gaia\Big Men Cry\04 Big Men Cry.mp3
#EXTINF : 다음의 숫자는 위의 데이터에서 오는 음악의 길이입니다 (초).
getTotalMinutes 메서드에 쓸 코드가 무엇인지 모르기 때문에 프로그램에서 파일의 분을 읽은 다음 모든 분을 계산하여 총 시간을 얻을 수 있습니다. 웹을 검색하여 불행하게도이 방법을 찾지 못했습니다. 그래서 어떤 도움을 주셔서 감사합니다.
질문이 해결된다. 시도한 해결책, 실패한 이유 및 예상되는 결과를 포함시킵니다. –
* "음악 길이"*는 무엇을 의미합니까? 분, 초, 틱, 퍽, 팀 탬 (tim-tams)? – MadProgrammer
음악 길이는 초입니다. –