Estoy teniendo un problema al intentar acceder y comprobar los parámetros pasados por la terminal al ejecutar el programa. La cosa es que tengo este código:
public static void main(String[] args) {
BufferedReader buffer;
FileReader urls;
String line, arg;
int count = 0;
try {
if( args.length > 0){
if(args[0] == "-f"){
urls = new FileReader(args[1]);
buffer = new BufferedReader(urls);
while (( line = buffer.readLine())!= null){
new Thread(new Downloader(line,count)).start();
count++;
}
buffer.close();
System.out.println("totes les Tasques doandes.");
}else{
System.out.println("Please Provide a File name by option -f.");
}
}else
{
System.out.println("Please provide parameters to execute the program.");
}
} catch (Exception e) {
e.printStackTrace();
}
}
al ejecutar lo en el terminal y con la instrucción java Main -f urls.txt me salta siempre a "Please Provide a File name by option -f." esto lo haga después de haber compilado mi clase Main con javac Main.java, he debugado el programa y he visto que el valor de args[0] es efectivamente -f pero la comparación me da el resultado false y no sé a que debe ser.