elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  leer archivo
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: leer archivo  (Leído 1,981 veces)
m@o_614


Desconectado Desconectado

Mensajes: 389


Ver Perfil
leer archivo
« en: 23 Junio 2014, 00:10 am »

Saludos

Estoy aprendiendo los conceptos básicos de java, y he estado haciendo pequeños codigos como este que lo que hace es que le pide al usuario el nombre de un archivo que debe abrir y que una vez que este abierto debe leer caracter por caracter e imprimirlo

Código
  1. import java.io.File;
  2. import java.io.FileReader;
  3. import java.io.FileNotFoundException;
  4. import java.util.Scanner;
  5.  
  6. public class Token {
  7.  
  8. public static void main(String[] args) {
  9. String nombre;
  10. Scanner teclado = new Scanner(System.in);
  11. System.out.print("Dame el nombre del archivo: ");
  12. nombre = teclado.nextLine();
  13. teclado.close();
  14. leerArchivo(nombre);
  15. }
  16.  
  17. public static void leerArchivo(String nombre)
  18. {
  19. try
  20. {
  21. int car;
  22.    File archivo = new File(nombre);
  23.    FileReader fr = new FileReader(archivo);
  24.    while((car = fr.read()) != -1)
  25.       System.out.printf("%d",car);
  26. }
  27. catch(FileNotFoundException fileNotFoundException)
  28. {
  29. System.out.println("No se pudo abrir archivo");
  30. }
  31. }
  32.  
  33. }
  34.  
el problema es que me aparece un error en la linea que me tiene que imprimir los caracteres del archivo y no se por qué, me dice:

The method printf(String,Object[])in the type printStream is not applicable for the arguments (String, int),como puedo resolverlo??

gracias


En línea

egyware


Desconectado Desconectado

Mensajes: 526



Ver Perfil WWW
Re: leer archivo
« Respuesta #1 en: 23 Junio 2014, 01:12 am »

Citar
The method printf(String,Object[])in the type printStream is not applicable for the arguments (String, int)

Que raro deberia funcionarte, en fin mejor usa esto y no te compliques tanto.
println(""+car);

Saludos!


En línea

~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 1.125



Ver Perfil
Re: leer archivo
« Respuesta #2 en: 23 Junio 2014, 01:56 am »

The method printf(String,Object[])in the type printStream is not applicable for the arguments (String, int),como puedo resolverlo??

Eso pasa porque estas utilizando  o le haz indicado que uses una versión de java menor o igual a 4. Si estas utilizando un IDE, verifica que la versión de compilación que estés ocupando sea igual o mayor a 5 (no confundas con la versión de JDK que esta utilizando el IDE), que es la versión que soporta AutoBoxing.


Aunque el parrafo de arriba soluciona el error, te dejo un pequeño resumen de lo que esta sucediendo.

Lo que pasa es que el segundo parámetro recibe un objeto, y le estas pasando int que es un valor primitivo no un objeto, y por lo tanto esta dando un error. A partir de Java 5, se introduce AutoBoxing y UnBoxing que hace conversión automática de primitivo a su Wrapper class (la versión en objeto del primitivo para que entiendas mas fácil) y viceversa.
En línea

Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.
m@o_614


Desconectado Desconectado

Mensajes: 389


Ver Perfil
Re: leer archivo
« Respuesta #3 en: 23 Junio 2014, 20:36 pm »

muchas gracias por sus respuestas, ahora el codigo funciona bien. Una última duda. cómo puedo verificar que la versión de compilación que uso es igual o mayor a 5??? estoy usando eclipse
En línea

~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 1.125



Ver Perfil
Re: leer archivo
« Respuesta #4 en: 24 Junio 2014, 01:52 am »

Click derecho en el proyecto -> Properties - > Java Compiler

En esa ventana puedes ver la versión de compilación que utiliza el proyecto actual y definir una versión también.

Saludos.
En línea

Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
leer un archivo txt « 1 2 3 »
Programación Visual Basic
RED_HORSE 22 8,200 Último mensaje 14 Abril 2006, 22:06 pm
por RED_HORSE
Leer archivo .civ « 1 2 »
Programación Visual Basic
Tyrz 13 4,988 Último mensaje 9 Septiembre 2007, 12:54 pm
por Tyrz
leer archivo con api's « 1 2 »
Programación Visual Basic
krackwar 12 4,491 Último mensaje 14 Julio 2008, 17:00 pm
por krackwar
Leer archivo xml....
.NET (C#, VB.NET, ASP)
Zeroql 7 6,296 Último mensaje 3 Julio 2010, 00:16 am
por Zeroql
Leer un archivo
Programación C/C++
Arisio 2 1,568 Último mensaje 30 Marzo 2014, 10:34 am
por leosansan
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines