diff --git a/core/src/processing/data/DoubleDict.java b/core/src/processing/data/DoubleDict.java index b503c8525..c8297df6e 100644 --- a/core/src/processing/data/DoubleDict.java +++ b/core/src/processing/data/DoubleDict.java @@ -792,6 +792,16 @@ public class DoubleDict { } + /** + * Save tab-delimited entries to a file (TSV format, UTF-8 encoding) + */ + public void save(File file) { + PrintWriter writer = PApplet.createWriter(file); + write(writer); + writer.close(); + } + + /** * Write tab-delimited entries out to * @param writer diff --git a/core/src/processing/data/DoubleList.java b/core/src/processing/data/DoubleList.java index 8abd51fe3..ae47a8442 100644 --- a/core/src/processing/data/DoubleList.java +++ b/core/src/processing/data/DoubleList.java @@ -1,5 +1,7 @@ package processing.data; +import java.io.File; +import java.io.PrintWriter; import java.util.Arrays; import java.util.Iterator; import java.util.Random; @@ -890,6 +892,27 @@ public class DoubleList implements Iterable { } + /** + * Save tab-delimited entries to a file (TSV format, UTF-8 encoding) + */ + public void save(File file) { + PrintWriter writer = PApplet.createWriter(file); + write(writer); + writer.close(); + } + + + /** + * Write entries to a PrintWriter, one per line + */ + public void write(PrintWriter writer) { + for (int i = 0; i < count; i++) { + writer.println(data[i]); + } + writer.flush(); + } + + /** * Return this dictionary as a String in JSON format. */ diff --git a/core/src/processing/data/FloatDict.java b/core/src/processing/data/FloatDict.java index ede45b181..2df14600c 100644 --- a/core/src/processing/data/FloatDict.java +++ b/core/src/processing/data/FloatDict.java @@ -804,6 +804,16 @@ public class FloatDict { } + /** + * Save tab-delimited entries to a file (TSV format, UTF-8 encoding) + */ + public void save(File file) { + PrintWriter writer = PApplet.createWriter(file); + write(writer); + writer.close(); + } + + /** * Write tab-delimited entries out to * @param writer diff --git a/core/src/processing/data/FloatList.java b/core/src/processing/data/FloatList.java index dc8df9748..863b05658 100644 --- a/core/src/processing/data/FloatList.java +++ b/core/src/processing/data/FloatList.java @@ -1,5 +1,7 @@ package processing.data; +import java.io.File; +import java.io.PrintWriter; import java.util.Arrays; import java.util.Iterator; import java.util.Random; @@ -898,6 +900,27 @@ public class FloatList implements Iterable { } + /** + * Save tab-delimited entries to a file (TSV format, UTF-8 encoding) + */ + public void save(File file) { + PrintWriter writer = PApplet.createWriter(file); + write(writer); + writer.close(); + } + + + /** + * Write entries to a PrintWriter, one per line + */ + public void write(PrintWriter writer) { + for (int i = 0; i < count; i++) { + writer.println(data[i]); + } + writer.flush(); + } + + /** * Return this dictionary as a String in JSON format. */ diff --git a/core/src/processing/data/IntDict.java b/core/src/processing/data/IntDict.java index 692655312..7acfd54b6 100644 --- a/core/src/processing/data/IntDict.java +++ b/core/src/processing/data/IntDict.java @@ -766,8 +766,17 @@ public class IntDict { /** - * Write tab-delimited entries out to - * @param writer + * Save tab-delimited entries to a file (TSV format, UTF-8 encoding) + */ + public void save(File file) { + PrintWriter writer = PApplet.createWriter(file); + write(writer); + writer.close(); + } + + + /** + * Write tab-delimited entries to a PrintWriter */ public void write(PrintWriter writer) { for (int i = 0; i < count; i++) { diff --git a/core/src/processing/data/IntList.java b/core/src/processing/data/IntList.java index a5ada1d90..dc2c89916 100644 --- a/core/src/processing/data/IntList.java +++ b/core/src/processing/data/IntList.java @@ -1,5 +1,7 @@ package processing.data; +import java.io.File; +import java.io.PrintWriter; import java.util.Arrays; import java.util.Iterator; import java.util.Random; @@ -898,6 +900,27 @@ public class IntList implements Iterable { } + /** + * Save tab-delimited entries to a file (TSV format, UTF-8 encoding) + */ + public void save(File file) { + PrintWriter writer = PApplet.createWriter(file); + write(writer); + writer.close(); + } + + + /** + * Write entries to a PrintWriter, one per line + */ + public void write(PrintWriter writer) { + for (int i = 0; i < count; i++) { + writer.println(data[i]); + } + writer.flush(); + } + + /** * Return this dictionary as a String in JSON format. */ diff --git a/core/src/processing/data/LongDict.java b/core/src/processing/data/LongDict.java index 4d2c3f3f1..18ecac703 100644 --- a/core/src/processing/data/LongDict.java +++ b/core/src/processing/data/LongDict.java @@ -761,8 +761,17 @@ public class LongDict { /** - * Write tab-delimited entries out to - * @param writer + * Save tab-delimited entries to a file (TSV format, UTF-8 encoding) + */ + public void save(File file) { + PrintWriter writer = PApplet.createWriter(file); + write(writer); + writer.close(); + } + + + /** + * Write tab-delimited entries to a PrintWriter */ public void write(PrintWriter writer) { for (int i = 0; i < count; i++) { diff --git a/core/src/processing/data/LongList.java b/core/src/processing/data/LongList.java index 01975694d..77bbd8b15 100644 --- a/core/src/processing/data/LongList.java +++ b/core/src/processing/data/LongList.java @@ -1,5 +1,7 @@ package processing.data; +import java.io.File; +import java.io.PrintWriter; import java.util.Arrays; import java.util.Iterator; import java.util.Random; @@ -899,6 +901,27 @@ public class LongList implements Iterable { } + /** + * Save tab-delimited entries to a file (TSV format, UTF-8 encoding) + */ + public void save(File file) { + PrintWriter writer = PApplet.createWriter(file); + write(writer); + writer.close(); + } + + + /** + * Write entries to a PrintWriter, one per line + */ + public void write(PrintWriter writer) { + for (int i = 0; i < count; i++) { + writer.println(data[i]); + } + writer.flush(); + } + + /** * Return this dictionary as a String in JSON format. */ diff --git a/core/src/processing/data/StringDict.java b/core/src/processing/data/StringDict.java index 38a170c51..012e266d2 100644 --- a/core/src/processing/data/StringDict.java +++ b/core/src/processing/data/StringDict.java @@ -571,8 +571,17 @@ public class StringDict { /** - * Write tab-delimited entries out to - * @param writer + * Save tab-delimited entries to a file (TSV format, UTF-8 encoding) + */ + public void save(File file) { + PrintWriter writer = PApplet.createWriter(file); + write(writer); + writer.close(); + } + + + /** + * Write tab-delimited entries to a PrintWriter */ public void write(PrintWriter writer) { for (int i = 0; i < count; i++) { diff --git a/core/src/processing/data/StringList.java b/core/src/processing/data/StringList.java index 5e14d3569..c4de6d33c 100644 --- a/core/src/processing/data/StringList.java +++ b/core/src/processing/data/StringList.java @@ -1,5 +1,7 @@ package processing.data; +import java.io.File; +import java.io.PrintWriter; import java.util.Arrays; import java.util.Iterator; import java.util.Random; @@ -756,6 +758,27 @@ public class StringList implements Iterable { } + /** + * Save tab-delimited entries to a file (TSV format, UTF-8 encoding) + */ + public void save(File file) { + PrintWriter writer = PApplet.createWriter(file); + write(writer); + writer.close(); + } + + + /** + * Write entries to a PrintWriter, one per line + */ + public void write(PrintWriter writer) { + for (int i = 0; i < count; i++) { + writer.println(data[i]); + } + writer.flush(); + } + + /** * Return this dictionary as a String in JSON format. */ diff --git a/core/todo.txt b/core/todo.txt index ae6480564..fe9c21c7b 100644 --- a/core/todo.txt +++ b/core/todo.txt @@ -7,6 +7,8 @@ X also add subset(long) and subset(double) to PApplet X change Sort class to use int for comparisons X sort only uses the sign of the value X more accurate than float, especially when using double and long values +X consistently implement write(PrintWriter) in the List and Dict classes +X add save(File) to the List and Dict classes gohai X Various ARM-related updates