Usen estas funciones y ya no se metan en detalles…. hacen lo que tienen que hacer y punto….
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.PrintWriter;
public class FileHelper {
public static boolean addText2File(String file,String text){
boolean valor_retorno = true;
try {
BufferedWriter writer = new BufferedWriter(new FileWriter(file,true)) ;
writer.write(text) ;
writer.close();
}
catch (IOException e) {
valor_retorno = false;
}
return valor_retorno;
}
public static boolean createFileWithText(String dir_fichero,String archivo,String cadena_impresa){
boolean valor_retorno = true;
File fichero = new File (dir_fichero,archivo);
try {
if (fichero.createNewFile()){
System.out.println("Se ha creado el Fichero: " + dir_fichero + archivo);
}
else{
System.out.println("No se ha creado el Fichero: " + dir_fichero + archivo);
}
} catch (IOException ioe) {
ioe.printStackTrace();
valor_retorno = false;
}
try{
System.out.println("Alimentando contenido al Fichero: " + dir_fichero + "/" + archivo);
PrintWriter fileOut = new PrintWriter(fichero);
fileOut.println(cadena_impresa);
fileOut.close();
System.out.println("Contenido alimentado con exito al Fichero: " + dir_fichero + "/" + archivo);
}catch (IOException ioe) {
ioe.printStackTrace();
System.out.println("No se ha alimentado el contenido para el Fichero: " + dir_fichero + "/" + archivo);
valor_retorno = false;
}
return valor_retorno;
}
public static boolean createFileWithText(String archivo,String cadena_impresa){
boolean valor_retorno = true;
File fichero = new File (archivo);
try {
if (fichero.createNewFile()){
System.out.println("Se ha creado el Fichero: " + archivo);
}
else{
System.out.println("No se ha creado el Fichero: " + archivo);
}
} catch (IOException ioe) {
ioe.printStackTrace();
valor_retorno = false;
}
try{
System.out.println("Alimentando contenido al Fichero: " + archivo);
PrintWriter fileOut = new PrintWriter(fichero);
fileOut.println(cadena_impresa);
fileOut.close();
System.out.println("Contenido alimentado con exito al Fichero: " + archivo);
}catch (IOException ioe) {
ioe.printStackTrace();
System.out.println("No se ha alimentado el contenido para el Fichero: " + archivo);
valor_retorno = false;
}
return valor_retorno;
}
public void move(String fromFileName, String toFileName) throws IOException {
copy(fromFileName, toFileName);
delete(fromFileName);
}
public void copy(String fromFileName, String toFileName) throws IOException {
File fromFile = new File(fromFileName);
File toFile = new File(toFileName);
if (!fromFile.exists()) throw new IOException("FileCopy: " + "no such source file: " + fromFileName);
if (!fromFile.isFile()) throw new IOException("FileCopy: " + "can't copy directory: " + fromFileName);
if (!fromFile.canRead()) throw new IOException("FileCopy: " + "source file is unreadable: " + fromFileName);
if (toFile.isDirectory()) toFile = new File(toFile, fromFile.getName());
if (toFile.exists()) {
if (!toFile.canWrite()) throw new IOException("FileCopy: " + "destination file is unwriteable: " + toFileName);
System.out.print("Overwrite existing file " + toFile.getName() + "? (Y/N): ");
System.out.flush();
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
String response = in.readLine();
if (!response.equals("Y") && !response.equals("y")) throw new IOException("FileCopy: " + "existing file was not overwritten.");
} else {
String parent = toFile.getParent();
if (parent == null) parent = System.getProperty("user.dir");
File dir = new File(parent);
if (!dir.exists()) throw new IOException("FileCopy: " + "destination directory doesn't exist: " + parent);
if (dir.isFile()) throw new IOException("FileCopy: " + "destination is not a directory: " + parent);
if (!dir.canWrite()) throw new IOException("FileCopy: " + "destination directory is unwriteable: " + parent);
}
FileInputStream from = null;
FileOutputStream to = null;
try {
from = new FileInputStream(fromFile);
to = new FileOutputStream(toFile);
byte[] buffer = new byte[4096];
int bytesRead;
while ((bytesRead = from.read(buffer)) != -1)
to.write(buffer, 0, bytesRead); // write
} finally {
if (from != null)
try {
from.close();
} catch (IOException e) {
;
}
if (to != null)
try {
to.close();
} catch (IOException e) {
;
}
}
}
public static void delete(String fileName) {
// A File object to represent the filename
File f = new File(fileName);
// Make sure the file or directory exists and isn't write protected
if (!f.exists())
throw new IllegalArgumentException(
"Delete: no such file or directory: " + fileName);
if (!f.canWrite())
throw new IllegalArgumentException("Delete: write protected: "
+ fileName);
// If it is a directory, make sure it is empty
if (f.isDirectory()) {
String[] files = f.list();
if (files.length > 0)
throw new IllegalArgumentException(
"Delete: directory not empty: " + fileName);
}
// Attempt to delete it
boolean success = f.delete();
if (!success) throw new IllegalArgumentException("Delete: deletion failed");
}
public String obtenerNombreArchivo( String in ){
String cadena_retorno = null;
File fichero = new File(in);
if(fichero.exists()){
cadena_retorno = fichero.getName();
}
return cadena_retorno;
}
}
