#1 Java - Ingreso de eñes por consola
Buenas, me llamo Luis y hace un tiempito comencé a programar en Java asi que todavía me surgen dudas muy básicas como la siguiente.

Quiero hacer un programita simple que tome una palabra de la consola y la vuelque en un txt.

El problema es que cuando corro el programa en la consola de windows, el string se guarda en el txt pero sin ningún caracter como las Ñ, Ç, acentos etc. En lugar aparecen otros símbolos.

Algo me hace pensar que debe ser por el encoding de la consola, estuve viéndolo por ese lado pero no llegué a nada.

El código es muy simple:

Código:
import java.io.*;



public class ingresoTexto {
    
        String linea;
    
        public void ingresarDat(){
            
            try { 
                
                System.out.print("Ingrese palabra:\n");
                
                BufferedReader stdin = new BufferedReader( 
                                         new InputStreamReader(System.in));
                
                linea = stdin.readLine();        
                } 
            
            catch (IOException exc) { 
                System.err.println(exc);
                } 
        }
        
    
        public void escribDat(){
            
            BufferedWriter bufferedWriter = null;
        
            try {
            
                bufferedWriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("C:\\datos.txt")));
            
                bufferedWriter.write(linea);
                bufferedWriter.newLine();
                } 
        
            catch (FileNotFoundException ex) {
                ex.printStackTrace();
                } 
        
            catch (IOException ex) {
                ex.printStackTrace();
                } 
            
            finally {
            
                try {
                    if (bufferedWriter != null) {
                        bufferedWriter.flush();
                        bufferedWriter.close();
                        }
                    } 
            
                catch (IOException ex) {
                    ex.printStackTrace();
                    }
            }     
        }    



    public static void main(String[] args) {
        
        ingresoTexto esc = new ingresoTexto ();
        esc.ingresarDat();
        esc.escribDat();
        
        }

    }
Debe ser una tontería pero hace varias horas que estoy renegando y googleando pero no puedo dar con la solución.

El programa lo estoy haciendo en Eclipse. Corriendolo desde el IDE funciona bien, pero cuando ingreso por la consola de Windows no.

Gracias de antemano.
+
 
0
Me gusta
 
| Más