private void flushToFile() { if (m_sb.length() == 0) return; if (m_file == null) { try { m_file = File.createTempFile("testng", "fileStringBuffer"); m_file.deleteOnExit(); p("Created temp file " + m_file); } catch (IOException e) { e.printStackTrace(); } } p("Size " + m_sb.length() + ", flushing to " + m_file); try (FileWriter fw = new FileWriter(m_file, true /* append */)) { fw.append(m_sb); } catch (IOException e) { e.printStackTrace(); } m_sb = new StringBuilder(); }
private void flushToFile() { if (m_sb.length() == 0) return; if (m_file == null) { try { m_file = File.createTempFile("testng", "fileStringBuffer"); m_file.deleteOnExit(); p("Created temp file " + m_file); } catch (IOException e) { LOGGER.error(e.getMessage(), e); } } p("Size " + m_sb.length() + ", flushing to " + m_file); try (FileWriter fw = new FileWriter(m_file, true /* append */)) { fw.append(m_sb); } catch (IOException e) { e.printStackTrace(); } m_sb = new StringBuilder(); }
public static void main(String[] args) throws IOException { String s = "abcdefghijklmnopqrstuvwxyz"; FileStringBuffer fsb = new FileStringBuffer(10); StringBuilder control = new StringBuilder(); Random r = new Random(); for (int i = 0; i < 1000; i++) { int start = Math.abs(r.nextInt() % 26); int length = Math.abs(r.nextInt() % (26 - start)); String fragment = s.substring(start, start + length); p("... Appending " + fragment); fsb.append(fragment); control.append(fragment); } File expected = new File("/tmp/expected"); expected.delete(); try (FileWriter expectedWriter = new FileWriter(expected)) { expectedWriter.append(control); } File actual = new File("/tmp/actual"); actual.delete(); try (FileWriter actualWriter = new FileWriter(actual)) { fsb.toWriter(actualWriter); } // Assert.assertEquals(fsb.toString(), control.toString()); }