Estoy tratando de ejecutar la aplicación de consola a través de la red del punto de Java:"El identificador no es válido" cuando se ejecuta la consola .NET a través de Java
process = Runtime.getRuntime().exec(commandLine);
me sale el siguiente resultado:
Detecting
The handle is invalid.
cuando ejecutarlo directamente a través de la consola (ventanas) no hay ningún problema:
Detecting
100%
Done.
100%
estoy corriendo más aplicaciones de esta forma, pero no tienen ningún problema .
conseguí este seguimiento de la pila:
Detecting at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.Console.GetBufferInfo(Boolean throwOnNoConsole, Boolean& succeeded)
at System.Console.get_CursorTop()
at AutomaticImageOrientation.HelperClasses.General.WriteProgressToConsole(Int32 lastIndex, Int32 totalImages)
at AutomaticImageOrientation.MainManager.DetectImage(String[] files, String outputPath, String& globalErrorMessage, Dictionary`2& foundRotations)
El problema es cuando la aplicación .NET intentar escribir en la consola ¿Cuál es la solución?
conocer la línea que causa el problema:
Console.CursorLeft = 0;
¿Sabe por qué?
Encontré la línea: Console.CursorLeft = 0; ¿por qué causa para manejar el problema? (solo cuando se ejecuta a través de Java) –
@Shaul - ¿Tal vez se relaciona con la redirección de flujo? es decir, ¿no puede encontrar el buffer IO nativo? Freaky ... no estoy seguro de que eso te ayude ... –