Using MCore DiscUtil is easy enough since it was backported.
This commit is contained in:
parent
61b526e387
commit
3b61a2be9b
@ -13,12 +13,12 @@ import org.bukkit.ChatColor;
|
|||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.block.Block;
|
import org.bukkit.block.Block;
|
||||||
|
|
||||||
|
import com.massivecraft.mcore.util.DiscUtil;
|
||||||
import com.massivecraft.mcore.util.Txt;
|
import com.massivecraft.mcore.util.Txt;
|
||||||
import com.massivecraft.mcore.xlib.gson.reflect.TypeToken;
|
import com.massivecraft.mcore.xlib.gson.reflect.TypeToken;
|
||||||
import com.massivecraft.factions.integration.LWCFeatures;
|
import com.massivecraft.factions.integration.LWCFeatures;
|
||||||
import com.massivecraft.factions.iface.RelationParticipator;
|
import com.massivecraft.factions.iface.RelationParticipator;
|
||||||
import com.massivecraft.factions.util.AsciiCompass;
|
import com.massivecraft.factions.util.AsciiCompass;
|
||||||
import com.massivecraft.factions.zcore.util.DiscUtil;
|
|
||||||
|
|
||||||
|
|
||||||
public class Board
|
public class Board
|
||||||
|
@ -7,8 +7,8 @@ import java.util.logging.Level;
|
|||||||
import java.util.Map.Entry;
|
import java.util.Map.Entry;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import com.massivecraft.factions.zcore.util.DiscUtil;
|
|
||||||
import com.massivecraft.factions.zcore.util.TextUtil;
|
import com.massivecraft.factions.zcore.util.TextUtil;
|
||||||
|
import com.massivecraft.mcore.util.DiscUtil;
|
||||||
import com.massivecraft.mcore.xlib.gson.Gson;
|
import com.massivecraft.mcore.xlib.gson.Gson;
|
||||||
import com.massivecraft.mcore.xlib.gson.JsonSyntaxException;
|
import com.massivecraft.mcore.xlib.gson.JsonSyntaxException;
|
||||||
|
|
||||||
|
@ -1,160 +0,0 @@
|
|||||||
package com.massivecraft.factions.zcore.util;
|
|
||||||
|
|
||||||
import java.io.*;
|
|
||||||
import java.net.URL;
|
|
||||||
import java.nio.channels.Channels;
|
|
||||||
import java.nio.channels.ReadableByteChannel;
|
|
||||||
|
|
||||||
public class DiscUtil
|
|
||||||
{
|
|
||||||
// -------------------------------------------- //
|
|
||||||
// CONSTANTS
|
|
||||||
// -------------------------------------------- //
|
|
||||||
|
|
||||||
private final static String UTF8 = "UTF-8";
|
|
||||||
|
|
||||||
// -------------------------------------------- //
|
|
||||||
// BYTE
|
|
||||||
// -------------------------------------------- //
|
|
||||||
|
|
||||||
public static byte[] readBytes(File file) throws IOException
|
|
||||||
{
|
|
||||||
int length = (int) file.length();
|
|
||||||
byte[] output = new byte[length];
|
|
||||||
InputStream in = new FileInputStream(file);
|
|
||||||
int offset = 0;
|
|
||||||
// normally it should be able to read the entire file with just a single iteration below, but it depends on the whims of the FileInputStream
|
|
||||||
while (offset < length)
|
|
||||||
{
|
|
||||||
offset += in.read(output, offset, (length - offset));
|
|
||||||
}
|
|
||||||
in.close();
|
|
||||||
return output;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void writeBytes(File file, byte[] bytes) throws IOException
|
|
||||||
{
|
|
||||||
FileOutputStream out = new FileOutputStream(file);
|
|
||||||
out.write(bytes);
|
|
||||||
out.close();
|
|
||||||
}
|
|
||||||
|
|
||||||
// -------------------------------------------- //
|
|
||||||
// STRING
|
|
||||||
// -------------------------------------------- //
|
|
||||||
|
|
||||||
public static void write(File file, String content) throws IOException
|
|
||||||
{
|
|
||||||
writeBytes(file, utf8(content));
|
|
||||||
}
|
|
||||||
|
|
||||||
public static String read(File file) throws IOException
|
|
||||||
{
|
|
||||||
return utf8(readBytes(file));
|
|
||||||
}
|
|
||||||
|
|
||||||
// -------------------------------------------- //
|
|
||||||
// CATCH
|
|
||||||
// -------------------------------------------- //
|
|
||||||
|
|
||||||
public static boolean writeCatch(File file, String content)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
write(file, content);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
catch (Exception e)
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static String readCatch(File file)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
return read(file);
|
|
||||||
}
|
|
||||||
catch (IOException e)
|
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// -------------------------------------------- //
|
|
||||||
// DOWNLOAD
|
|
||||||
// -------------------------------------------- //
|
|
||||||
|
|
||||||
public static boolean downloadUrl(String urlstring, File file)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
URL url = new URL(urlstring);
|
|
||||||
ReadableByteChannel rbc = Channels.newChannel(url.openStream());
|
|
||||||
FileOutputStream fos = new FileOutputStream(file);
|
|
||||||
fos.getChannel().transferFrom(rbc, 0, 1 << 24);
|
|
||||||
fos.close();
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
catch (Exception e)
|
|
||||||
{
|
|
||||||
e.printStackTrace();
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static boolean downloadUrl(String urlstring, String filename)
|
|
||||||
{
|
|
||||||
return downloadUrl(urlstring, new File(filename));
|
|
||||||
}
|
|
||||||
|
|
||||||
// -------------------------------------------- //
|
|
||||||
// FILE DELETION
|
|
||||||
// -------------------------------------------- //
|
|
||||||
|
|
||||||
public static boolean deleteRecursive(File path) throws FileNotFoundException
|
|
||||||
{
|
|
||||||
if ( ! path.exists()) throw new FileNotFoundException(path.getAbsolutePath());
|
|
||||||
boolean ret = true;
|
|
||||||
if (path.isDirectory())
|
|
||||||
{
|
|
||||||
for (File f : path.listFiles())
|
|
||||||
{
|
|
||||||
ret = ret && deleteRecursive(f);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return ret && path.delete();
|
|
||||||
}
|
|
||||||
|
|
||||||
// -------------------------------------------- //
|
|
||||||
// UTF8 ENCODE AND DECODE
|
|
||||||
// -------------------------------------------- //
|
|
||||||
|
|
||||||
public static byte[] utf8(String string)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
return string.getBytes(UTF8);
|
|
||||||
}
|
|
||||||
catch (UnsupportedEncodingException e)
|
|
||||||
{
|
|
||||||
e.printStackTrace();
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static String utf8(byte[] bytes)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
return new String(bytes, UTF8);
|
|
||||||
}
|
|
||||||
catch (UnsupportedEncodingException e)
|
|
||||||
{
|
|
||||||
e.printStackTrace();
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -3,6 +3,7 @@ package com.massivecraft.factions.zcore.util;
|
|||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
|
||||||
import com.massivecraft.factions.zcore.MPlugin;
|
import com.massivecraft.factions.zcore.MPlugin;
|
||||||
|
import com.massivecraft.mcore.util.DiscUtil;
|
||||||
|
|
||||||
public class LibLoader
|
public class LibLoader
|
||||||
{
|
{
|
||||||
|
@ -5,6 +5,7 @@ import java.lang.reflect.Type;
|
|||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
|
|
||||||
import com.massivecraft.factions.zcore.MPlugin;
|
import com.massivecraft.factions.zcore.MPlugin;
|
||||||
|
import com.massivecraft.mcore.util.DiscUtil;
|
||||||
|
|
||||||
// TODO: Give better name and place to differenciate from the entity-orm-ish system in "com.massivecraft.core.persist".
|
// TODO: Give better name and place to differenciate from the entity-orm-ish system in "com.massivecraft.core.persist".
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user