diff options
author | snowleo <schneeleo@gmail.com> | 2012-08-06 15:57:35 +0200 |
---|---|---|
committer | snowleo <schneeleo@gmail.com> | 2012-08-06 15:57:54 +0200 |
commit | 848ee76eabd23ecd89c4e23f442d99dab176f430 (patch) | |
tree | 50b45d9d0aae345f0dc3c8c7f4c85f172742adf2 | |
parent | 034b83223c22a59d5a569f91dc8b4566d0d9e68e (diff) | |
download | Essentials-848ee76eabd23ecd89c4e23f442d99dab176f430.tar Essentials-848ee76eabd23ecd89c4e23f442d99dab176f430.tar.gz Essentials-848ee76eabd23ecd89c4e23f442d99dab176f430.tar.lz Essentials-848ee76eabd23ecd89c4e23f442d99dab176f430.tar.xz Essentials-848ee76eabd23ecd89c4e23f442d99dab176f430.zip |
Just don't use nio, this might be slower.
-rw-r--r-- | Essentials/src/com/earth2me/essentials/EssentialsConf.java | 23 |
1 files changed, 4 insertions, 19 deletions
diff --git a/Essentials/src/com/earth2me/essentials/EssentialsConf.java b/Essentials/src/com/earth2me/essentials/EssentialsConf.java index c1c7d0a58..0440febce 100644 --- a/Essentials/src/com/earth2me/essentials/EssentialsConf.java +++ b/Essentials/src/com/earth2me/essentials/EssentialsConf.java @@ -39,6 +39,7 @@ public class EssentialsConf extends YamlConfiguration super(); this.configFile = configFile; } + private final byte[] bytebuffer = new byte[1024]; public synchronized void load() { @@ -117,27 +118,11 @@ public class EssentialsConf extends YamlConfiguration try { final ByteBuffer buffer = ByteBuffer.allocate((int)configFile.length()); - int retry = 0; - do + int length; + while ((length = inputStream.read(bytebuffer)) != -1) { - final FileChannel channel = inputStream.getChannel(); - channel.position(0); - try - { - channel.read(buffer); - retry = 0; - } - catch (ClosedByInterruptException ex) - { - buffer.rewind(); - retry++; - if (retry >= 5) - { - throw ex; - } - } + buffer.put(bytebuffer, 0, length); } - while (retry > 0); buffer.rewind(); final CharBuffer data = CharBuffer.allocate((int)configFile.length()); CharsetDecoder decoder = UTF8.newDecoder(); |