archivos File de una clase a otra
Dada las siguentes dos clases:
public class DOS {
...
public static StringBuilder capturarTextoDeArchivo() {
StringBuilder sb = new StringBuilder();
File archivo = null; // este archivo quiero que apunte a la dirección que apunta la variable txtFile de la clase UNO
...
return sb;
}
...
}
...
public static StringBuilder capturarTextoDeArchivo() {
StringBuilder sb = new StringBuilder();
File archivo = null; // este archivo quiero que apunte a la dirección que apunta la variable txtFile de la clase UNO
...
return sb;
}
...
}
Se desea que la variable de la clase DOS "File archivo = null
" contenga o apunte al mismo archivo de la variable "File txtFile = new File("/CARPETA/tmp/"+nombre+".txt")
" de la clase UNO.
¿Cómo se puede lograr lo anterior? E intentado crear otro método, en la clase DOS, pero nomás no...
- Inicie sesión o regístrese para enviar comentarios
Tendrías que crear un objeto
Tendrías que crear un objeto de la clase UNO en la clase DOS, en el objeto de clase UNO que creas, ejecutas el método que recupera el archivo, y lo asignas a la variable archivo ... y ya.
Recordando cosas basicas
Asi deberia funcionar, observaciones:
No lo probe.
Debes de verificar que el metodo privado de la clase UNO se ejecute antes de que utilices el metodo de la clase DOS.
import org.jdom.Document;
public class UNO extends AbstractSingleNodeMapeo{
File file = null;
public UNO(File file){
this.file = file;
}
private ComprobanteBean getUdmComprobante(Document cfdv2){
file = new File("/CARPETA/tmp/"+nombre+".txt");
return comprobante;
}
}
public class DOS {
public static StringBuilder capturarTextoDeArchivo(File file)) {
StringBuilder sb = new StringBuilder();
file //Aqui puedes usarlo como tu quieras
return sb;
}
}
//Codigo dentro de un metodo en alguna clase
public void usoFile(){
File file = null;
UNO uno = new UNO(file);
StringBuilder sb = DOS.capturarTextoDeArchivo(file);
}
Otra forma
import org.jdom.Document;
public class UNO extends AbstractSingleNodeMapeo{
File file = null;
public File getFile(){
return file;
}
private ComprobanteBean getUdmComprobante(Document cfdv2){
file = new File("/CARPETA/tmp/"+nombre+".txt");
return comprobante;
}
}
public class DOS {
public static StringBuilder capturarTextoDeArchivo(File file)) {
StringBuilder sb = new StringBuilder();
file //Aqui puedes usarlo como tu quieras
return sb;
}
}
//Codigo dentro de un metodo en alguna clase
public void usoFile(){
UNO uno = new UNO(File file);
File file = uno.getFile();
StringBuilder sb = DOS.capturarTextoDeArchivo(file);
}
Creo que tu codigo
Creo que tu codigo potencialmente tiene una tendencia al error, deberias agregar esto:
StringBuilder sb = DOS.capturarTextoDeArchivo(file);
} else {
// crear una ventana y avisar del error al usuario
}
Lee esto, para mejorar el codigo:
http://stackoverflow.com/questions/4985074/ifnull-variable-why-not-ifvar...
@neko069 & @beto.bateria, ya
@neko069 & @beto.bateria, ya lo pruebo... Thanks a millions 4 U time :-D