The source code of the Stenway WSV reference library can be found on GitHub
Create a WSV line
WsvLine line = new WsvLine("Value1", "Value2", "Value3");
Serialize a WSV line
WsvLine line = new WsvLine("Value1", "Value2", "Value3"); String str = line.toString();
Create a WSV document
WsvDocument document = new WsvDocument(); document.addLine("Row1_Value1", "Row1_Value2", "Row1_Value3"); document.addLine("Row2_Value1", "Row2_Value2");
Serialize a WSV document
WsvDocument document = new WsvDocument(); document.addLine("Row1_Value1", "Row1_Value2", "Row1_Value3"); document.addLine("Row2_Value1", "Row2_Value2"); String str = document.toString();
Save as WSV file
WsvDocument document = new WsvDocument(); document.addLine("Row1_Value1", "Row1_Value2", "Row1_Value3"); document.addLine("Row2_Value1", "Row2_Value2"); document.save("Data.wsv");
Specify encoding
WsvDocument document = new WsvDocument(); document.addLine("Row1_Value1", "Row1_Value2", "Row1_Value3"); document.addLine("Row2_Value1", "Row2_Value2"); document.setEncoding(ReliableTxtEncoding.UTF_16); document.save("Data.wsv");
Load a WSV file
WsvDocument document = WsvDocument.load("Data.wsv");
Parse a WSV document
WsvDocument document = WsvDocument.parse("Value11 Value12\nValue21");
Parse a WSV line
WsvLine line = WsvLine.parse("Value11 Value12 #Comment");
Handle invalid documents
try { var document = WsvDocument.load("Data.wsv"); } catch (ReliableTxtException e) { ... } catch (WsvParserException e) { ... }
Change content
WsvDocument document = WsvDocument.load("Table.wsv"); document.getLine(0).setComment(" Export date: 2021-01-31"); document.getLine(3).Values[3] = "Phoenix"; document.addLine(WsvLine.parse("Ethan Walker 35"));
Read a WSV file line by line
try (WsvStreamReader reader = new WsvStreamReader("BigTable.wsv")) { WsvLine line = null; while ((line = reader.readLine()) != null) { ... } }
Write a WSV file line by line
try (WsvStreamWriter writer = new WsvStreamWriter("BigTable.wsv", ReliableTxtEncoding.UTF_16, true)) { writer.writeLine("ValueA1", "ValueA2", "ValueA3"); writer.writeLines( new WsvLine("ValueB1", "ValueB2", "ValueB3"), new WsvLine("ValueC1", "ValueC2", "ValueC3") ); }