Вход

Нужна помощь

Научись общаться с машиной и научи других. Все вопросы связанные с программированием и разработкой программ.

Модератор: AxeL

СообщениеНовичок antonbreckihh antonbreckihh 0
Оставил 1 сообщений с 28 ноя 2014
ФР: 160
28 ноября 2014 в 11:28

Как мне сделать ftp сервер на WR1043 чтобы можно было с интернета заходить на него?
0

Сообщение Гость 25 декабря 2014 в 16:56

Ваяю программку на Java, должна хапать данные с определенного железа и сбрасывать в файл.
Затык в работе с файлом - не получается держать его открытым.
Мне кажется, что открывать его перед каждой записью (а их может быть десяток в секунду) как-то неправильно.
Как сделать хендл файла глобальным, хотя бы в пределах головного класса?

наваял вот такой класс
private static String logFileName2="Serial2.log"; // файл в который будем писать
...
LogClass.OpenLog();
...
LogClass.log2file(data);
...
LogClass.CloseLog();
// это у нас в основном классе

// Ниже - класс работы с файлом
public static class LogClass {
public static BufferedWriter BWf2; // вынес переменные настолько, насколько смог.
public FileWriter FW2; // На static тут ругается


public static void OpenLog()
{
try
{
FileWriter FW2 = new FileWriter(logFileName2,true);
BufferedWriter BWf2 = new BufferedWriter(FW2);
}
catch(Exception e)
{
System.out.println("Something is wrong.... LogClass.OpenLog";);
}//catch(Exception e)
}

public static void CloseLog()
{
try
{ BWf2.close();// не забудем закрыть файл
}
catch(Exception e)
{
System.out.println("Something is wrong.... LogClass.CloseLog";);
}//catch(Exception e)
}


public static void log2file(String logStr)
{
try
{
FileWriter FW2 = new FileWriter(logFileName2,true);
BufferedWriter BWf2 = new BufferedWriter(FW2);
// Если закомментировать две строчки выше - валится на ближайшем BWf2.write с сообщением
// Exception in thread "EventThread COM1" java.lang.NullPointerException
// по всей видимости - хендл не доживает до этого места

long curTime = System.currentTimeMillis();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss z";);
dateFormat.setTimeZone(TimeZone.getTimeZone("GMT+3";));

// String curStringDate = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss z Z";).format(curTime);
String curStringDate = dateFormat.format(curTime);
BWf2.write(curStringDate);
BWf2.write(" - ";);
BWf2.write(logStr);
BWf2.newLine(); // переходим на новую строку
// BWf2.close();// не забудем закрыть файл
}
catch(IOException e)
{
System.err.println("An IOException was caught :"+e.getMessage());
System.out.println("Something is wrong....LogClass.log2file-1";);
}//catch(Exception e)




}

} // SerialPortEventListener
0



Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5