Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/10/2013, 14:32
andre___5025
 
Fecha de Ingreso: septiembre-2013
Ubicación: Bogota
Mensajes: 139
Antigüedad: 10 años, 7 meses
Puntos: 0
No escribe el resultado en el archivo.txt

Hola amigos tengo una aplicacion sencilla que escribe numeros aleatorios en un archivo plano. El problema es que cuando mando a imprimir el resultado por ejemplo de esta manera
Código:
bw.write(arreglo[i]);
sale en el archivo unos cuadros diminutos pero los numeros no. Y cuando imprimo de esta forma
Código:
bw.write(". "+arreglo[i]+" .");
ahi si me imprime los numeros generados aleatoriamente pero con los puntos. No se por que razon pasa esto si alguien que le ha pasado lo mismo espero su colaboración, sugerencia o solucion. Gracias. Dejo el codigo completo:

Código:
import java.util.Random;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import javax.swing.JOptionPane;

public class Main1
{ 
public static void main(String[] args) throws IOException
{
	int[] arreglo;
	int cant,digitos=1,numero = 1;
	int aux,pasadas=0,comparaciones=0;
	
	long tiempoInicio = System.currentTimeMillis();
	FileWriter fw = new FileWriter("C:/Users/Nando Cruz/Desktop/fuente.txt");
	BufferedWriter bw = new BufferedWriter(fw);
	
	numero=Integer.parseInt(JOptionPane.showInputDialog (null,"Digite la cantidad de digitos: "));
	for(int j = 1; j<=numero;j++){
	 digitos = digitos * 10;
	//ira haciendo 1*10 = 10, 10*10=100, 100*10=1000... etc
	}
	digitos = digitos -1; //se 1 para que quede en 999 por ejemplo para el caso de 3 digitos

	cant=Integer.parseInt(JOptionPane.showInputDialog (null,"Digite el numero de posiciones: "));
	arreglo=new int[cant];
	for (int i=0; i<arreglo.length;i++){
	Random ram = new Random();
	arreglo[i] = ram.nextInt(digitos)+1;
	}
	
	for (int i=0; i<arreglo.length;i++)
	{
		pasadas++;
		for (int j=0; j<arreglo.length-1;j++)
		{
			comparaciones++;
			if (arreglo[j]>arreglo[j+1])
			{
				aux=arreglo[j];
				arreglo[j]=arreglo[j+1];
				arreglo[j+1]=aux;
			}
		}
	}
	
	for (int i=0; i<arreglo.length;i++)
	{
		bw.write(arreglo[i]);
		bw.newLine();
	}
	
	bw.newLine();bw.newLine();
	bw.write("pasadas: "+pasadas);
	bw.newLine();
	bw.write("Iteraciones: "+comparaciones);
	bw.newLine();
	long totalTiempo = System.currentTimeMillis() - tiempoInicio;
	bw.write("El tiempo de demora es :" + totalTiempo + " milisegundos");
	bw.close();
	fw.close();
	JOptionPane.showMessageDialog(null,"Archivo plano generado.");

	}
}
PDT: La idea es que el archivo se genere sin caracteres especiales. solo deseo que salgan los numeros. Gracias