Browse Source

Commit inicial

master
jandroalbus 2 years ago
commit
6b8b3fdfe4
7 changed files with 155 additions and 0 deletions
  1. +10
    -0
      MiCopyFicheros/.classpath
  2. +17
    -0
      MiCopyFicheros/.project
  3. +2
    -0
      MiCopyFicheros/.settings/org.eclipse.core.resources.prefs
  4. +14
    -0
      MiCopyFicheros/.settings/org.eclipse.jdt.core.prefs
  5. +36
    -0
      MiCopyFicheros/README.md
  6. BIN
      MiCopyFicheros/bin/MiCopyFicheros/MiCopyFicheros.class
  7. +76
    -0
      MiCopyFicheros/src/MiCopyFicheros/MiCopyFicheros.java

+ 10
- 0
MiCopyFicheros/.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
MiCopyFicheros/.project View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>MiCopyFicheros</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
MiCopyFicheros/.settings/org.eclipse.core.resources.prefs View File

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

+ 14
- 0
MiCopyFicheros/.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

+ 36
- 0
MiCopyFicheros/README.md View File

@ -0,0 +1,36 @@
# README.md
## Titulo
MyCopy Ficheros
## Autor
Alejandro Javier Albus 2CFGS DAM
## Enunciado
ACTIVIDAD 06 : Crea un programa Java MiCopy que copie un archivo.
Por ejemplo “MiCopy FicheroOrigen.dat FicheroDestino.dat. El programa tendrá que mostrar por pantalla el tanto
por cien que lleva realizada de la copia y deberá también mostrar algún tipo de animación (similar a wget).
Cuando termine la copia se mostrará un mensaje de fin de la copia.
## Uso
Debe introducir en los atributos del programa el archivo a copiar (IN) y el destino de dicho archivo (OUT).
Dicho archivo se copiará integramente.
## Ejemplo de ejecución
Los cuadrados iran apareciendo desde 0.
<pre>
<code>
> Empezando copia ...
[■■■■■■■■■■] 100%
+ Se ha finalizado la copia correctamente
</code>
</pre>
## Dependencias
Uso de librerias externas:
* java.io.*
## Licencia
Uso libre

BIN
MiCopyFicheros/bin/MiCopyFicheros/MiCopyFicheros.class View File


+ 76
- 0
MiCopyFicheros/src/MiCopyFicheros/MiCopyFicheros.java View File

@ -0,0 +1,76 @@
package MiCopyFicheros;
import java.io.*;
public class MiCopyFicheros {
public static void main(String[] args) throws IOException {
//Tenemos los directorios y ficheros a copiar (origen)
final String directory = "C:\\Users\\jandr\\Desktop\\Acceso a datos\\Container Ficheros\\";
File f = new File(directory + "Fich_Origen_0410.bin");
//Creamos los FIS y tambien decimos a donde mandar el nuevo archivo
FileInputStream in = new FileInputStream(f);
FileOutputStream out = new FileOutputStream(directory + "Fich_Destino_0410");
//Empezamos la copia, si no esta vacio - null
if (in != null) {
System.out.println("\n> Empezando copia ...");
for (int i = 0; i <= 200; i = i + 20) {
//Invocamos al metodo
progressPercentage(i, 200);
//Ralentizamos el output
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
}
System.out.println("\n+ Se ha finalizado la copia correctamente");
}
//Cerramos los lectores
in.close();
out.close();
}
/**
* Muestra el porcentaje del progreso [0/100%]
*/
private static void progressPercentage(int remain, int total) {
//Si lo restante supera al total, lanzaremos excepcion
if (remain > total)
throw new IllegalArgumentException();
//Generamos los atributos in-class
int maxSize = 10, remaining = calcProgress(remain, total, maxSize);
char notDone = '-';
String done = "■", bare = new String(new char[maxSize]).replace('\0', notDone) + "]", bareDone = "[",
bareRemain = bare.substring(remaining, bare.length());;
for (int i = 0; i < remaining; i++)
bareDone += done;
//Imprimimos el resultado
System.out.print("\r" + bareDone + bareRemain + " " + remaining * 10 + "%");
}
/**
* Calculo del progreso
*/
private static int calcProgress(int remain, int total, int maxBareSize) {
return ((100 * remain) / total) / maxBareSize;
}
}

Loading…
Cancel
Save