The following code snippet show you how to create a tab delimited data file in Java. The tab character is represented using the \t
sequence of characters, a backslash (\
) character followed by the t
letter. In the code below we start by defining some data that we are going to write to the file.
We create a PrintWriter
object, passes a BufferedWritter
created using the Files.newBufferedWriter()
method. The countries.dat
is the file name where the data will be written. Because we are using the try-with-resources
the PrintWriter
and the related object will be closed automatically when the file operation finishes.
package org.kodejava.io;
import java.io.IOException;
import java.io.PrintWriter;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;
public class TabDelimitedDataFile {
public static void main(String[] args) throws IOException {
List<String[]> data = new ArrayList<>();
data.add(new String[]{"Afghanistan", "AF", "AFG", "004", "Asia"});
data.add(new String[]{"Åland Islands", "AX", "ALA", "248", "Europe"});
data.add(new String[]{"Albania", "AL", "ALB", "008", "Europe"});
data.add(new String[]{"Algeria", "DZ", "DZA", "012", "Africa"});
data.add(new String[]{"American Samoa", "AS", "ASM", "016", "Polynesia"});
data.add(new String[]{"Andorra", "AD", "AND", "020", "South Europe"});
data.add(new String[]{"Angola", "AO", "AGO", "024", "Africa"});
data.add(new String[]{"Anguilla", "AI", "AIA", "660", "Americas"});
data.add(new String[]{"Antarctica", "AQ", "ATA", "010", ""});
data.add(new String[]{"Argentina", "AR", "ARG", "032", "Americas"});
try (PrintWriter writer = new PrintWriter(
Files.newBufferedWriter(Paths.get("countries.dat")))) {
for (String[] row : data) {
writer.printf("%1$20s\t%2$3s\t\t%3$3s\t\t%4$3s\t\t%5$s",
row[0], row[1], row[2], row[3], row[4]);
writer.println();
}
}
}
}
The output of the code snippet above are:
Afghanistan AF AFG 004 Asia
Åland Islands AX ALA 248 Europe
Albania AL ALB 008 Europe
Algeria DZ DZA 012 Africa
American Samoa AS ASM 016 Polynesia
Andorra AD AND 020 South Europe
Angola AO AGO 024 Africa
Anguilla AI AIA 660 Americas
Antarctica AQ ATA 010
Argentina AR ARG 032 Americas