Det här kanske hjälper, http://www.javaworld.com/javaworld/javaqa/2002-12/02-qa-1220-console.html
/Viktor
7 svar · 432 visningar · startad av nitro2k01
Detta är väl kanske inte en ren java-fråga, men jag försöker ändå.
Jag vill kunna skriva fräger till konsolen, helst både i Windows och Unix, och helst genom att bara använda System.out.print()
Finns det någon slags kontrollkoder som man kan skriva för att göra detta?
Det här kanske hjälper, http://www.javaworld.com/javaworld/javaqa/2002-12/02-qa-1220-console.html
/Viktor
Ja och nej.
Jag vill att detta ska göras i den vanliga konsolen, så jcurses verkade intressant.
Men det visar sig att den bara kan "rita" grafik mha tecken i konsolen. Coolt det, men jag letar efter något som fungerar som en vanlig konsol, eftersom det handlar om status-output från en server.
För övrigt upptäckte jag följande:
byte escapechars[]={0x1b,0x5b};
System.out.println(new String(escapechars));
skriver ut escape-tecknet (Som en pil) och en klammer. Men om man passar en byte-array:
byte escapechars[]={0x1b,0x5b};
System.out.println(escapechars);
så skriver den ut: [B@7182c1
Har du någon aning om varför?
Troligen klarar inte System.out.println att hantera byte, till skillnad mot vad konstruktorn till string klarar.
Jorå, enligt javas dokumentation gör den det. Men det verkar som om man kommer närmare terminalen om man använder byte[]. Eller nåt.
Men det funkar ändå inte riktigt...
Hittade det här när jag sökte lite,
AFAIK escape sequences are only supported in NT for legacy DOS apps.
Win32 console programs (like java.exe) cannot use them even if you have ANSI.SYS properly configured so that your old DOS programs can use it.
Låter inte så lovande om du vill använda det i nya Windows versioner.
/Viktor
Vore bra om man kunde använda konsolen normalt mha jcurses...
Trägen vinner
Bara lite längre ner på Google fann jag denna klockrena lösning: http://www.rgagnon.com/javadetails/java-0469.html
Denna funkar för Windows 2000/XP, under Windows 9x och unix funkar oftast escape-koder!