- Баллы
- 98
- Имя в Minecraft
- Planet0111
Как из List загрузить в файл локации и потом из файла вернуть локации в List?
Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
В конфиг нужно сохранять только координаты или все значения до сотой доли?Как из List загрузить в файл локации и потом из файла вернуть локации в List?
P.S. Мне вообще пофиг.В конфиг нужно сохранять только координаты или все значения до сотой доли?
Тогда нужно написать сериализер(не знаю как точно), т.е. ты пишешь функцию, которая преобразовывает нужные тебе значения в строку и пишешь функцию, которая парсит строку, извлекая значения.P.S. Мне вообще пофиг.
public static boolean writeLocation(double x, double y, double z, String worldName, File file)
{
FileOutputStream fileStream = null;
DataOutputStream out = null;
try
{
fileStream = new FileOutputStream(file);
out = new DataOutputStream(fileStream);
out.writeDouble(x);
out.writeDouble(y);
out.writeDouble(z);
out.writeUTF(worldName);
}
catch (Throwable t)
{
return false;
}
finally
{
try
{
if (out != null) out.close();
if (fileStream != null) fileStream.close();
}
catch (Throwable t)
{
return false;
}
}
return true;
}
public static Object[] readLocation(File file)
{
FileInputStream fileStream = null;
DataInputStream in = null;
double x;
double y;
double z;
String worldName;
try
{
fileStream = new FileInputStream(file);
in = new DataInputStream(fileStream);
x = in.readDouble();
y = in.readDouble();
z = in.readDouble();
worldName = in.readUTF();
}
catch (Throwable t)
{
x = Double.NaN;
y = Double.NaN;
z = Double.NaN;
worldName = "UNKNOUN";
}
finally
{
try
{
if (in != null) in.close();
if (fileStream != null) fileStream.close();
}
catch (Throwable t)
{
x = Double.NaN;
y = Double.NaN;
z = Double.NaN;
worldName = "UNKNOUN";
}
}
return new Object[] { x, y, z, worldName };
}
Вот спасибо.Java:public static boolean writeLocation(double x, double y, double z, String worldName, File file) { FileOutputStream fileStream = null; DataOutputStream out = null; try { fileStream = new FileOutputStream(file); out = new DataOutputStream(fileStream); out.writeDouble(x); out.writeDouble(y); out.writeDouble(z); out.writeUTF(worldName); } catch (Throwable t) { return false; } finally { try { if (out != null) out.close(); if (fileStream != null) fileStream.close(); } catch (Throwable t) { return false; } } return true; } public static Object[] readLocation(File file) { FileInputStream fileStream = null; DataInputStream in = null; double x; double y; double z; String worldName; try { fileStream = new FileInputStream(file); in = new DataInputStream(fileStream); x = in.readDouble(); y = in.readDouble(); z = in.readDouble(); worldName = in.readUTF(); } catch (Throwable t) { x = Double.NaN; y = Double.NaN; z = Double.NaN; worldName = "UNKNOUN"; } finally { try { if (in != null) in.close(); if (fileStream != null) fileStream.close(); } catch (Throwable t) { x = Double.NaN; y = Double.NaN; z = Double.NaN; worldName = "UNKNOUN"; } } return new Object[] { x, y, z, worldName }; }
Как все громоздко.Java:public static boolean writeLocation(double x, double y, double z, String worldName, File file) { FileOutputStream fileStream = null; DataOutputStream out = null; try { fileStream = new FileOutputStream(file); out = new DataOutputStream(fileStream); out.writeDouble(x); out.writeDouble(y); out.writeDouble(z); out.writeUTF(worldName); } catch (Throwable t) { return false; } finally { try { if (out != null) out.close(); if (fileStream != null) fileStream.close(); } catch (Throwable t) { return false; } } return true; } public static Object[] readLocation(File file) { FileInputStream fileStream = null; DataInputStream in = null; double x; double y; double z; String worldName; try { fileStream = new FileInputStream(file); in = new DataInputStream(fileStream); x = in.readDouble(); y = in.readDouble(); z = in.readDouble(); worldName = in.readUTF(); } catch (Throwable t) { x = Double.NaN; y = Double.NaN; z = Double.NaN; worldName = "UNKNOUN"; } finally { try { if (in != null) in.close(); if (fileStream != null) fileStream.close(); } catch (Throwable t) { x = Double.NaN; y = Double.NaN; z = Double.NaN; worldName = "UNKNOUN"; } } return new Object[] { x, y, z, worldName }; }
Если не обрабатывать исключения, то будет компактно (хотя не очень, так как потоки нужно закрывать), но вероятность ошибки возрастёт.Как все громоздко.
try with resources для кого придумали?Java:public static boolean writeLocation(double x, double y, double z, String worldName, File file) { FileOutputStream fileStream = null; DataOutputStream out = null; try { fileStream = new FileOutputStream(file); out = new DataOutputStream(fileStream); out.writeDouble(x); out.writeDouble(y); out.writeDouble(z); out.writeUTF(worldName); } catch (Throwable t) { return false; } finally { try { if (out != null) out.close(); if (fileStream != null) fileStream.close(); } catch (Throwable t) { return false; } } return true; } public static Object[] readLocation(File file) { FileInputStream fileStream = null; DataInputStream in = null; double x; double y; double z; String worldName; try { fileStream = new FileInputStream(file); in = new DataInputStream(fileStream); x = in.readDouble(); y = in.readDouble(); z = in.readDouble(); worldName = in.readUTF(); } catch (Throwable t) { x = Double.NaN; y = Double.NaN; z = Double.NaN; worldName = "UNKNOUN"; } finally { try { if (in != null) in.close(); if (fileStream != null) fileStream.close(); } catch (Throwable t) { x = Double.NaN; y = Double.NaN; z = Double.NaN; worldName = "UNKNOUN"; } } return new Object[] { x, y, z, worldName }; }
Не знал про неё, спасибо.try with resources для кого придумали?