Browse Source

MiCopy

master
Dani Minguet 2 years ago
commit
8fa4829618
9 changed files with 199 additions and 0 deletions
  1. +10
    -0
      .classpath
  2. +17
    -0
      .project
  3. +2
    -0
      .settings/org.eclipse.core.resources.prefs
  4. +14
    -0
      .settings/org.eclipse.jdt.core.prefs
  5. +35
    -0
      README.md
  6. BIN
      bin/micopy/com/daniminguet/es/MiCopy.class
  7. BIN
      bin/module-info.class
  8. +118
    -0
      src/micopy/com/daniminguet/es/MiCopy.java
  9. +3
    -0
      src/module-info.java

+ 10
- 0
.classpath View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
</classpath>

+ 17
- 0
.project View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>MiCopy</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>

+ 2
- 0
.settings/org.eclipse.core.resources.prefs View File

@ -0,0 +1,2 @@
eclipse.preferences.version=1
encoding/<project>=UTF-8

+ 14
- 0
.settings/org.eclipse.jdt.core.prefs View File

@ -0,0 +1,14 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=17
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.release=enabled
org.eclipse.jdt.core.compiler.source=17

+ 35
- 0
README.md View File

@ -0,0 +1,35 @@
HACE UNA COPIA DE UN ARCHIVO DE ORIGEN PASADO POR PANTALLA A UNO DE DESTINO PASADO POR PANTALLA TAMBIÉN
He hecho las comprobaciones para ver si los archivos existen y en el caso del de donde se hace la copia, que
se pueda escribir en él si ya existe.
A la hora de copiar he usado el método "Thread.sleep()" para hacer una breve pausa entre datos copiados y
mostrar así la barra de progreso de manera correcta.
Una vez acabada la copia, se visualiza el contenido de ambos archivos para comprobar su correcto funcionamiento
RESULTADO:
```
Introduce la ruta del archivo de origen:
C:\Users\Dani\OneDrive\Documentos\AccesoADatos\fichero.txt
Introduce la ruta del archivo de destino:
C:\Users\Dani\OneDrive\Documentos\AccesoADatos\ficheroCopia.txt
Copiando archivo...
(||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||)
Archivo copiado con éxito!!
Contenido del archivo de origen:
qwertyuiopasdfghjkl\zxcvbnm
aefffffafeafsceac
veacecavbndtyamyksrvfdad
rvaavracvbgnsfntabvZDBbvnerw
Contenido del archivo de destino:
qwertyuiopasdfghjkl\zxcvbnm
aefffffafeafsceac
veacecavbndtyamyksrvfdad
rvaavracvbgnsfntabvZDBbvnerw
```

BIN
bin/micopy/com/daniminguet/es/MiCopy.class View File


BIN
bin/module-info.class View File


+ 118
- 0
src/micopy/com/daniminguet/es/MiCopy.java View File

@ -0,0 +1,118 @@
package micopy.com.daniminguet.es;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Scanner;
public class MiCopy {
public static void main(String[] args) {
Scanner lector = new Scanner(System.in);
//Se pide el archivo de origen
System.out.println("Introduce la ruta del archivo de origen:");
String archivoOrigenString = lector.nextLine();
File archivoOrigen = new File(archivoOrigenString);
try {
//Si el archivo de origen existe, se pedirá el archivo de destino
if(archivoOrigen.exists()) {
System.out.println("Introduce la ruta del archivo de destino:");
String archivoDestinoString = lector.nextLine();
File archivoDestino = new File(archivoDestinoString);
//Si el archivo de destino existe y tiene permisos para escribir, sobreescribirá los datos
if(archivoDestino.exists()) {
if(archivoDestino.canWrite()) {
InputStream isCopiar = new FileInputStream(archivoOrigen);
OutputStream osPegar = new FileOutputStream(archivoDestino);
copiar(isCopiar, osPegar);
isCopiar.close();
osPegar.close();
} else {
System.out.println("No tienes permisos para modificar el archivo de destino");
}
//Si el archivo de destino no existe, lo crea y escribe los datos
} else {
System.out.println("Nuevo archivo creado");
archivoDestino.createNewFile();
InputStream isCopiar = new FileInputStream(archivoOrigen);
OutputStream osPegar = new FileOutputStream(archivoDestino);
copiar(isCopiar, osPegar);
isCopiar.close();
osPegar.close();
}
System.out.println();
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
String linea;
//Mostrará el contenido de los dos archivos para verificar que funciona correctamente
FileReader frOrigen = new FileReader(archivoOrigen);
BufferedReader brOrigen = new BufferedReader(frOrigen);
System.out.println("Contenido del archivo de origen:");
System.out.println();
while((linea = brOrigen.readLine()) != null) {
System.out.println(linea);
}
System.out.println();
frOrigen.close();
brOrigen.close();
linea = null;
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
FileReader frDestino = new FileReader(archivoDestino);
BufferedReader brDestino = new BufferedReader(frDestino);
System.out.println("Contenido del archivo de destino:");
System.out.println();
while((linea = brDestino.readLine()) != null) {
System.out.println(linea);
}
frDestino.close();
brDestino.close();
//Si el archivo no existe, el programa finalizará
} else {
System.out.println("El archivo de origen no existe o no se encuentra la ruta correcta");
}
} catch (IOException e) {
e.printStackTrace();
}
}
public static void copiar(InputStream isCopiar, OutputStream osPegar) throws IOException {
int c;
//Proceso de copia
System.out.println("Copiando archivo...");
System.out.print("(");
try {
while((c = isCopiar.read()) != -1) {
osPegar.write(c);
System.out.print("|");
Thread.sleep(40);
}
} catch (InterruptedException ie) {
}
System.out.println(")");
System.out.println("Archivo copiado con éxito!!");
}
}

+ 3
- 0
src/module-info.java View File

@ -0,0 +1,3 @@
module MiCopy {
exports micopy.com.daniminguet.es;
}

Loading…
Cancel
Save