Adds I/O stream buffering

This commit is contained in:
Michael Primm 2023-09-10 10:56:40 -05:00
parent 7ed6728e34
commit d1408b7bfd
6 changed files with 24 additions and 15 deletions

View File

@ -1,11 +1,15 @@
package org.dynmap; package org.dynmap;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File; import java.io.File;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.io.FileOutputStream; import java.io.FileOutputStream;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.io.OutputStream;
import java.io.OutputStreamWriter; import java.io.OutputStreamWriter;
import java.io.Reader;
import java.lang.reflect.Constructor; import java.lang.reflect.Constructor;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
@ -82,13 +86,13 @@ public class ConfigurationNode implements Map<String, Object> {
initparse(); initparse();
// If no file to read, just return false // If no file to read, just return false
if (!f.canRead()) { return false; } if (!f.canRead()) { return false; }
FileInputStream fis = null; Reader fr = null;
try { try {
fis = new FileInputStream(f); fr = new UnicodeReader(new BufferedInputStream(new FileInputStream(f)));
Object o = yaml.load(new UnicodeReader(fis)); Object o = yaml.load(fr);
if((o != null) && (o instanceof Map)) if((o != null) && (o instanceof Map))
entries = (Map<String, Object>)o; entries = (Map<String, Object>)o;
fis.close(); fr.close();
} }
catch (YAMLException e) { catch (YAMLException e) {
Log.severe("Error parsing " + f.getPath() + ". Use http://yamllint.com to debug the YAML syntax." ); Log.severe("Error parsing " + f.getPath() + ". Use http://yamllint.com to debug the YAML syntax." );
@ -97,8 +101,8 @@ public class ConfigurationNode implements Map<String, Object> {
Log.severe("Error reading " + f.getPath()); Log.severe("Error reading " + f.getPath());
return false; return false;
} finally { } finally {
if(fis != null) { if(fr != null) {
try { fis.close(); } catch (IOException x) {} try { fr.close(); } catch (IOException x) {}
} }
} }
return (entries != null); return (entries != null);
@ -111,7 +115,7 @@ public class ConfigurationNode implements Map<String, Object> {
public boolean save(File file) { public boolean save(File file) {
initparse(); initparse();
FileOutputStream stream = null; OutputStream stream = null;
File parent = file.getParentFile(); File parent = file.getParentFile();
@ -120,7 +124,7 @@ public class ConfigurationNode implements Map<String, Object> {
} }
try { try {
stream = new FileOutputStream(file); stream = new BufferedOutputStream(new FileOutputStream(file));
OutputStreamWriter writer = new OutputStreamWriter(stream, "UTF-8"); OutputStreamWriter writer = new OutputStreamWriter(stream, "UTF-8");
yaml.dump(entries, writer); yaml.dump(entries, writer);
return true; return true;

View File

@ -1,5 +1,6 @@
package org.dynmap.hdmap; package org.dynmap.hdmap;
import java.io.BufferedReader;
import java.io.File; import java.io.File;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.io.IOException; import java.io.IOException;
@ -356,7 +357,7 @@ public class HDBlockModels {
int layerbits = 0; int layerbits = 0;
int rownum = 0; int rownum = 0;
int scale = 0; int scale = 0;
rdr = new LineNumberReader(new InputStreamReader(in)); rdr = new LineNumberReader(new BufferedReader(new InputStreamReader(in)));
while ((line = rdr.readLine()) != null) { while ((line = rdr.readLine()) != null) {
boolean skip = false; boolean skip = false;
int lineNum = rdr.getLineNumber(); int lineNum = rdr.getLineNumber();

View File

@ -1,6 +1,7 @@
package org.dynmap.hdmap; package org.dynmap.hdmap;
import java.awt.image.BufferedImage; import java.awt.image.BufferedImage;
import java.io.BufferedReader;
import java.io.File; import java.io.File;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.io.FileNotFoundException; import java.io.FileNotFoundException;
@ -1823,7 +1824,7 @@ public class TexturePack {
try { try {
String line; String line;
rdr = new LineNumberReader(new InputStreamReader(txtfile)); rdr = new LineNumberReader(new BufferedReader(new InputStreamReader(txtfile)));
while((line = rdr.readLine()) != null) { while((line = rdr.readLine()) != null) {
if(line.startsWith("#")) { if(line.startsWith("#")) {
} }

View File

@ -1,8 +1,10 @@
package org.dynmap.modsupport.impl; package org.dynmap.modsupport.impl;
import java.io.BufferedWriter;
import java.io.File; import java.io.File;
import java.io.FileWriter; import java.io.FileWriter;
import java.io.IOException; import java.io.IOException;
import java.io.Writer;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.Locale; import java.util.Locale;
@ -274,9 +276,9 @@ public class ModModelDefinitionImpl implements ModModelDefinition {
return; return;
} }
File f = new File(destdir, this.txtDef.getModID() + "-models.txt"); File f = new File(destdir, this.txtDef.getModID() + "-models.txt");
FileWriter fw = null; Writer fw = null;
try { try {
fw = new FileWriter(f); fw = new BufferedWriter(new FileWriter(f));
// Write modname line // Write modname line
String s = "modname:" + this.txtDef.getModID(); String s = "modname:" + this.txtDef.getModID();
fw.write(s + "\n\n"); fw.write(s + "\n\n");

View File

@ -1,8 +1,10 @@
package org.dynmap.modsupport.impl; package org.dynmap.modsupport.impl;
import java.io.BufferedWriter;
import java.io.File; import java.io.File;
import java.io.FileWriter; import java.io.FileWriter;
import java.io.IOException; import java.io.IOException;
import java.io.Writer;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.Map; import java.util.Map;
@ -278,9 +280,9 @@ public class ModTextureDefinitionImpl implements ModTextureDefinition {
public void writeToFile(File destdir) throws IOException { public void writeToFile(File destdir) throws IOException {
File f = new File(destdir, this.modid + "-texture.txt"); File f = new File(destdir, this.modid + "-texture.txt");
FileWriter fw = null; Writer fw = null;
try { try {
fw = new FileWriter(f); fw = new BufferedWriter(new FileWriter(f));
// Write modname line // Write modname line
String s = "modname:" + this.modid; String s = "modname:" + this.modid;
fw.write(s + "\n\n"); fw.write(s + "\n\n");

View File

@ -22,7 +22,6 @@ import java.nio.charset.Charset;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedList; import java.util.LinkedList;
import java.util.List; import java.util.List;
import java.util.logging.Logger; import java.util.logging.Logger;