Format examples for fluent style
diff --git a/src/site/xdoc/user-guide.xml b/src/site/xdoc/user-guide.xml
index 6c58033..3a433fa 100644
--- a/src/site/xdoc/user-guide.xml
+++ b/src/site/xdoc/user-guide.xml
@@ -71,24 +71,23 @@
for example:
</p>
<source>final URL url = ...;
-final Reader reader = new InputStreamReader(new BOMInputStream(url.openStream()), "UTF-8");
-final CSVParser parser = CSVFormat.EXCEL.builder().setHeader().build().parse(reader);
-try {
+try (final Reader reader = new InputStreamReader(new BOMInputStream(url.openStream()), "UTF-8");
+ final CSVParser parser = CSVFormat.EXCEL.builder()
+ .setHeader()
+ .build()
+ .parse(reader)) {
for (final CSVRecord record : parser) {
final String string = record.get("SomeColumn");
...
}
-} finally {
- parser.close();
- reader.close();
}
</source>
<p>
You might find it handy to create something like this:
</p>
<source>/**
-* Creates a reader capable of handling BOMs.
-*/
+ * Creates a reader capable of handling BOMs.
+ */
public InputStreamReader newReader(final InputStream inputStream) {
return new InputStreamReader(new BOMInputStream(inputStream), StandardCharsets.UTF_8);
}
@@ -118,7 +117,10 @@
Indices may not be the most intuitive way to access record values. For this reason it is possible to
assign names to each column in the file:
<source>Reader in = new FileReader("path/to/file.csv");
-Iterable<CSVRecord> records = CSVFormat.RFC4180.builder().setHeader("ID", "CustomerNo", "Name").build().parse(in);
+Iterable<CSVRecord> records = CSVFormat.RFC4180.builder()
+ .setHeader("ID", "CustomerNo", "Name")
+ .build()
+ .parse(in);
for (CSVRecord record : records) {
String id = record.get("ID");
String customerNo = record.get("CustomerNo");
@@ -136,7 +138,10 @@
ID, CustomerNo, Name
}
Reader in = new FileReader("path/to/file.csv");
-Iterable<CSVRecord> records = CSVFormat.RFC4180.builder().setHeader(Headers.class).build().parse(in);
+Iterable<CSVRecord> records = CSVFormat.RFC4180.builder()
+ .setHeader(Headers.class)
+ .build()
+ .parse(in);
for (CSVRecord record : records) {
String id = record.get(Headers.ID);
String customerNo = record.get(Headers.CustomerNo);
@@ -149,7 +154,11 @@
Some CSV files define header names in their first record. If configured, Apache Commons CSV can parse
the header names from the first record:
<source>Reader in = new FileReader("path/to/file.csv");
-Iterable<CSVRecord> records = CSVFormat.RFC4180.builder().setHeader().setSkipHeaderRecord(true).build().parse(in);
+Iterable<CSVRecord> records = CSVFormat.RFC4180.builder()
+ .setHeader()
+ .setSkipHeaderRecord(true)
+ .build()
+ .parse(in);
for (CSVRecord record : records) {
String id = record.get("ID");
String customerNo = record.get("CustomerNo");
@@ -163,16 +172,22 @@
To print a CSV file with headers, you specify the headers in the format:
</p>
<source>final Appendable out = ...;
- final CSVPrinter printer = CSVFormat.DEFAULT.builder().setHeader("H1", "H2").build().print(out);
+final CSVPrinter printer = CSVFormat.DEFAULT.builder()
+ .setHeader("H1", "H2")
+ .build()
+ .print(out);
</source>
<p>
To print a CSV file with JDBC column labels, you specify the ResultSet in the format:
</p>
- <source>final ResultSet resultSet = ...;
- final CSVPrinter printer = CSVFormat.DEFAULT.builder().setHeader(resultSet).build().print(out);
+ <source>try (final ResultSet resultSet = ...) {
+ final CSVPrinter printer = CSVFormat.DEFAULT.builder()
+ .setHeader(resultSet)
+ .build()
+ .print(out);
+}
</source>
</subsection>
</section>
- <!-- ================================================== -->
</body>
</document>