दिलचस्प पोस्ट
Android सूचीदृश्य चयनकर्ता रंग एंड्रॉइड: विंडो जोड़ने में असमर्थ इस विंडो प्रकार के लिए अनुमति अस्वीकृत है मुझे "चेतावनी अब ऑब्जेक्ट लंबाई कम वस्तु लंबाई का एक बहुमान नहीं है" क्यों मिलता है? कमांड लाइन तर्क पार्सिंग? प्रपत्र प्रमाणन समयबाह्य बनाम सत्र कालबाह्य Office VBA Editor में कोड के ब्लॉक को टिप्पणी और असंबद्ध कैसे करें तरल टेम्पलेट्स में हैशों पर विस्फोट करना मूल्य पर आधारित बहुआयामी-सरणी से तत्व हटाएं Android / Eclipse PANIC: खोला नहीं जा सका मैं WinMerge मेरे git mergetool कैसे बना सकता हूँ? उपनाम टेम्पलेट विशेषज्ञता कोणीय 2 – आंतरिक एचटीएमएल स्टाइलिंग फ्रेमवर्क 3.5 में सर्वर टैग <% =%> के साथ दृश्यमान संपत्ति सेट करें `: होवर` के साथ वेबकिट बग और कई आसन्न-सिब्बल चयनकर्ता कन्स्ट्रक्टर को इंगित करने वाला फ़ंक्शन पॉइंटर कैसे पास करें?

जावा: कंसोल साफ़ करें

क्या कोई भी शरीर मुझे बता सकता है कि जावा में स्पष्ट स्क्रीन के लिए कौन से कोड का उपयोग किया जाता है? उदाहरण के लिए सी ++ में

system("CLS"); 

स्पष्ट स्क्रीन के लिए जावा में कौन से कोड का उपयोग किया जाता है?

धन्यवाद!

Solutions Collecting From Web of "जावा: कंसोल साफ़ करें"

चूंकि विंडोज के लिए गैर-कामकाजी कोड दिखाते हुए यहां कई उत्तर दिए गए हैं, यहां एक स्पष्टीकरण दिया गया है:

 Runtime.getRuntime().exec("cls"); 

यह कमांड दो कारणों से काम नहीं करता है:

  1. कोई मानक विंडोज़ cls.com में cls.exe या cls.com नामक कोई एक्जिक्युटेबल नहीं है, जिसे cls.exe माध्यम से लागू किया जा सकता है, क्योंकि cls.com विंडोज़ के कमांड लाइन इंटरप्रेटर के लिए बनाया गया है।

  2. Runtime.exec माध्यम से एक नई प्रक्रिया शुरू करते समय, मानक आउटपुट को एक पाइप पर रीडायरेक्ट किया जाता है, जिसकी शुरूआत जावा प्रक्रिया पढ़ सकती है। लेकिन जब cls कमांड का आउटपुट रीडायरेक्ट हो जाता है, तो यह कंसोल को स्पष्ट नहीं करता है।

इस समस्या को हल करने के लिए, हमें कमांड लाइन इंटरप्रेटर ( cmd ) का आह्वान करना होगा और इसे एक कमांड ( /c cls ) निष्पादित करने के लिए कहें जो बिल्टिन कमांडों के उपयोग की अनुमति देता है। इसके अलावा हमें सीधे इसके आउटपुट चैनल को जावा प्रोसेस आउटपुट चैनल में जोड़ना होगा, जो inheritIO() का उपयोग करते हुए जावा 7 से शुरू होता है:

 import java.io.IOException; public class CLS { public static void main(String... arg) throws IOException, InterruptedException { new ProcessBuilder("cmd", "/c", "cls").inheritIO().start().waitFor(); } } 

अब जब जावा प्रोसेस एक सांत्वना से जुड़ा हुआ है, यानी आउटपुट रीडायरेक्शन के बिना कमांड लाइन से शुरू किया गया है, यह कंसोल को साफ़ करेगा।

आप कमांड लाइन कंसोल साफ़ करने के लिए निम्न कोड का उपयोग कर सकते हैं:

 public static void clearScreen() { System.out.print("\033[H\033[2J"); System.out.flush(); } 

संदर्भ के लिए, इस लिंक को देखें http://techno-terminal.blogspot.in/2014/12/clear-command-line-console-and-bold.html

इस तरह मैं इसे संभालता हूं। यह विधि विंडोज ओएस मामले और लिनक्स / यूनिक्स ओएस मामले (जिसका अर्थ यह मैक ओएस एक्स के लिए भी काम करता है) के लिए काम करेगा।

 public final static void clearConsole() { try { final String os = System.getProperty("os.name"); if (os.contains("Windows")) { Runtime.getRuntime().exec("cls"); } else { Runtime.getRuntime().exec("clear"); } } catch (final Exception e) { // Handle any exceptions. } } 

यह प्राप्त करने का एक तरीका प्रिंट एकाधिक अंतराल ("\ n") हो सकता है और स्पष्ट स्क्रीन अनुकरण कर सकता है। अंत में, यूनिक्स खोल में अधिकांश, पिछली सामग्री को नहीं हटाता है, केवल इसे ऊपर ले जाता है और यदि आप स्क्रॉल करते हैं तो पिछली सामग्री देख सकते हैं।

यहां एक नमूना कोड है:

 for (int i = 0; i < 50; ++i) System.out.println(); 

यदि आप इसे करने का एक और सिस्टम स्वतंत्र तरीके चाहते हैं, तो आप JLine लाइब्रेरी और ConsoleReader.clearScreen () का उपयोग कर सकते हैं। वर्तमान माहौल में जेएलआईएन और एएनएसआई का समर्थन है या नहीं, यह समझदारी जांचना संभव है कि यह भी करना चाहिए।

निम्नलिखित कोड की तरह कुछ मेरे लिए काम किया:

 import jline.console.ConsoleReader; public class JLineTest { public static void main(String... args) throws Exception { ConsoleReader r = new ConsoleReader(); while (true) { r.println("Good morning"); r.flush(); String input = r.readLine("prompt>"); if ("clear".equals(input)) r.clearScreen(); else if ("exit".equals(input)) return; else System.out.println("You typed '" + input + "'."); } } } 

जब यह चल रहा है, यदि आप प्रॉम्प्ट पर 'रिक्त' टाइप करते हैं तो यह स्क्रीन को साफ़ कर देगा। सुनिश्चित करें कि आप इसे एक उचित टर्मिनल / कंसोल से चलाते हैं और एक्लिप्स में नहीं।

Runtime.getRuntime ()। Exec (सीएलएस) मेरे एक्सपी लैपटॉप पर काम नहीं किया। यह किया –

 for(int clear = 0; clear < 1000; clear++) { System.out.println("\b") ; } 

आशा है कि यह उपयोगी है

इस तरह अपनी कक्षा में एक विधि बनाएं: [जैसा कि होलगेर ने यहां बताया।]

 public static void clrscr(){ //Clears Screen in java try { if (System.getProperty("os.name").contains("Windows")) new ProcessBuilder("cmd", "/c", "cls").inheritIO().start().waitFor(); else Runtime.getRuntime().exec("clear"); } catch (IOException | InterruptedException ex) {} } 

यह कम से कम खिड़कियों के लिए काम करता है, मैंने अभी तक लिनक्स के लिए जाँच नहीं की है। अगर कोई इसे लिनक्स के लिए चेक करता है तो कृपया मुझे बताएं कि क्या यह काम करता है (या नहीं)।

एक वैकल्पिक विधि के रूप में इस कोड को clrscr() में लिखना है:

 for(int i = 0; i < 80*300; i++)//Default Height of cmd is 300 and Default width is 80 System.out.println("\b");//prints a backspace 

मैं आपको इस विधि का उपयोग करने की अनुशंसा नहीं करेगा।

आप के for (int i = 0; i < 50; ++i) System.out.println(); cls अनुकरण का उपयोग कर सकते हैं for (int i = 0; i < 50; ++i) System.out.println();

निम्न प्रयास करें:

 System.out.print("\033\143"); 

यह लिनक्स पर्यावरण में ठीक काम करेगा

यह काम करेगा यदि आप इसे ब्लूज या किसी अन्य समान सॉफ्टवेयर में कर रहे हैं।

 System.out.print('\u000C'); 

आपको जेएनआई का उपयोग करना होगा

सबसे पहले सभी का उपयोग दृश्य स्टूडियो का उपयोग करते हुए एक। Dll बनाएँ, उस कॉल सिस्टम ("cls")। इसके बाद जेएनआई इस डीडीएल का उपयोग करने के लिए उपयोग करें।

मैंने यह आलेख अच्छा पाया है:

http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=5170&lngWId=2

 Runtime.getRuntime().exec("cls");