दिलचस्प पोस्ट
कम्पाइलर्स और सी ++ में मूल्यांकन का तर्क क्रम चेक के रूप में रेडियो बटन के लिए प्रारंभिक मान असाइन करें ओपनसीवी 2.3 कंपाइलिंग इशू – अपरिभाषित रिफेंस – उबंटू 11.10 एंड्रॉइड 5.0 (लॉलीपॉप) में इनकमिंग कॉम को प्रोग्रामैटिक रूप से कैसे उत्तर दिया जा सकता है? App.Config परिवर्तन मान क्यों उपयोग करें (!! गलती)? Android TabWidget पता वर्तमान टैब पर क्लिक करें HttpWebRequest का कैश कैसे साफ़ करें सी # सदस्य चर प्रारंभिकता; सर्वश्रेष्ठ प्रणालियां? <Div> बनाएँ और गतिशील रूप से <div> जोड़ें "टेबल से हटाएं" के बाद सॉकेट फाईल का आकार बदलें आप कैसे जांच करते हैं कि कोई संख्या दूसरे नंबर (पायथन) से विभाज्य है या नहीं? सामग्री संपादन योग्य डिवा में कर्सर पर टेक्स्ट डालें अंतर <? सुपर टी> और <? जावा में टी> बढ़ाता है एक एसोसिएटिव सरणी के माध्यम से कैसे लूप करें और कुंजी प्राप्त करें?

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

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

system("CLS"); 

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

धन्यवाद!

वेब के समाधान से एकत्रित समाधान "जावा: कंसोल साफ़ करें"

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

 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");