How to buffer strings in Java



Problem Description

How to buffer strings?

Solution

Following example buffers strings and flushes it by using emit() method.

public class StringBuffer {
   public static void main(String[] args) {
      countTo_N_Improved();
   }
   private final static int MAX_LENGTH = 30;
   private static String buffer = "";
   
   private static void emit(String nextChunk) {
      if(buffer.length() + nextChunk.length() > MAX_LENGTH) {
         System.out.println(buffer);
         buffer = "";  
      }
      buffer += nextChunk;
   }
   private static final int N = 100;
   private static void countTo_N_Improved() {
      for (int count = 2; count <= N; count = count +2) {
         emit(" " + count);
      }
   }
}

Result

The above code sample will produce the following result.

2 4 6 8 10 12 14 16 18 20 22
24 26 28 30 32 34 36 38 40 42
44 46 48 50 52 54 56 58 60 62
64 66 68 70 72 74 76 78 80 82

StringBuffer and StringBuilder classes are used for creating mutable string.

StringBuffer

public class HelloWorld {
   public static void main(String []args) {
      StringBuffer sb = new StringBuffer("hello");
      sb.append("world");
      sb.insert(0, " Tutorialspoint");
      System.out.print(sb);
   }
}

Result

The above code sample will produce the following result.

Tutorialspointhelloworld
java_strings.htm
Advertisements