La salida del archivo cambia después del programa de empaquetado como jar

Tengo una aplicación que escribe algunos datos en un archivo de índice de texto sin formato. Funciona bien en Netbeans, pero cuando se empaqueta como un jar, el archivo de índice se crea pero termina en blanco. Aquí está el código relevante:

System.out.println("Writing Index File");

PrintWriter indexOut = new PrintWriter(new File("index.txt"));

for(int i = 0; i < index.size(); i++)
{
    indexOut.println(index.get(i));
}

indexOut.flush();
indexOut.close();

System.out.println("Index complete.");

¿Por qué cambiaría el comportamiento de las aplicaciones cuando lo empaqueto como un contenedor y cómo puedo solucionarlo?

Respuesta 1

¿Crees que la colección de índice tiene algo? Es posible que desee cambiar el primer me gusta a System.out.println ("Writing Index File" + index.size ());

Puede intentar depurar lo mismo.

No debería haber ninguna razón para que cambie el comportamiento de la aplicación, a menos que cambie la entrada al programa.

Respuesta: 2

Sospecho que está leyendo algunos datos en su programa de un archivo que se supone que es relativo a su directorio actual. Por lo tanto, debe verificar si tiene dependencia en alguna ruta relativa. En caso afirmativo, conviértalos en ruta absoluta como primer paso.

Respuesta: 3

El siguiente código no funciona (por supuesto), porque la línea marcada no se compila: MyClass {// singleton stuff private static MyClass instancia; privado MyClass () {} público estático ...

Me encanta jFugue, pero no puedo controlar el volumen de un patrón. Estos 2 patrones, en mi computadora portátil, se reproducen al mismo volumen (en el papel, el segundo debería ser dos veces más fuerte que el primero): Patrón ...

Utilizamos el generador de GUI de NetBeans para crear nuestros formularios visuales. Intentamos que sean compatibles con JavaBean para que podamos arrastrar y soltar componentes en la pantalla. Sin embargo, a veces esto se convierte en ...

¿Hay alguna forma de usar "API de Java de Google Sheet" con la clave API no con OAuth que se proporciona en sus ejemplos https://developers.google.com/sheets/api/quickstart/java Sé que puede usar la solicitud HTTP. .