<dependency>
<groupId>com.github.fikovnik</groupId>
<artifactId>flatbuffers</artifactId>
<version>1.2.0</version>
</dependency>
public class MyFlatFile extends Record {
@Field(offset = 0, length = 10)
public String name;
@Field(offset = 10, length = 5)
public int age;
@Field(offset = 15, length = 20)
public String address;
}
public class FlatFileExample {
public static void main(String[] args) {
List<MyFlatFile> records = FlatFileReader.read("input.txt", MyFlatFile.class);
for (MyFlatFile record : records) {
System.out.println(record.name + ", " + record.age + ", " + record.address);
}
MyFlatFile record1 = new MyFlatFile();
record1.name = "John";
record1.age = 25;
record1.address = "123 Main St";
MyFlatFile record2 = new MyFlatFile();
record2.name = "Alice";
record2.age = 30;
record2.address = "456 Elm St";
List<MyFlatFile> newRecords = new ArrayList<>();
newRecords.add(record1);
newRecords.add(record2);
FlatFileWriter.write("output.txt", MyFlatFile.class, newRecords);
}
}
properties
# flatfile.properties
recordClass=MyFlatFile
fields[0].offset=0
fields[0].length=10
fields[1].offset=10
fields[1].length=5
fields[2].offset=15
fields[2].length=20
// MyFlatFile.java
public class MyFlatFile extends Record {
@Field(offset = 0, length = 10)
public String name;
@Field(offset = 10, length = 5)
public int age;
@Field(offset = 15, length = 20)
public String address;
}
// FlatFileExample.java
public class FlatFileExample {
public static void main(String[] args) {
List<MyFlatFile> records = FlatFileReader.read("input.txt", MyFlatFile.class);
for (MyFlatFile record : records) {
System.out.println(record.name + ", " + record.age + ", " + record.address);
}
MyFlatFile record1 = new MyFlatFile();
record1.name = "John";
record1.age = 25;
record1.address = "123 Main St";
MyFlatFile record2 = new MyFlatFile();
record2.name = "Alice";
record2.age = 30;
record2.address = "456 Elm St";
List<MyFlatFile> newRecords = new ArrayList<>();
newRecords.add(record1);
newRecords.add(record2);
FlatFileWriter.write("output.txt", MyFlatFile.class, newRecords);
}
}
// flatfile.properties
recordClass=MyFlatFile
fields[0].offset=0
fields[0].length=10
fields[1].offset=10
fields[1].length=5
fields[2].offset=15
fields[2].length=20