Модераторы: javastic, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> проблема с записью файла, проблема с записью файла 
:(
    Опции темы
furstenberg
Дата 3.5.2009, 20:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 13.2.2008

Репутация: нет
Всего: нет



Здравствуйте, пытался записать строку в файл несколькими способами:
и так 
Код

private void saveFile(String path, String name) {
        try {
            String url = path + name;
            String string = textbox.getString();
            byte data[] = string.getBytes();
            FileConnection fconn = (FileConnection)Connector.open("file://localhost/settings/2.rec", Connector.READ_WRITE);
            if (!fconn.exists()) {
                fconn.create();
            }
            OutputStream ops = fconn.openOutputStream();
            ops.write(data);
            ops.close();
            fconn.close();
        }
        catch (IOException ioe) {
            System.out.println("IOException: "+ioe.getMessage());
        }
        catch (SecurityException se) {
            System.out.println("Security exception:" + se.getMessage());
        }
    } 
 

и так
Код

 void saveFile(String Path) 
    
    {//void saveFile
       
     fc = (FileConnection)Connector.open("file://localhost/" + currDirName + fileName,Connector.READ_WRITE);
        if (!fc.exists()) {
            throw new IOException("File does not exists");
                          }
     
     if (fc ==null) 
       {
             
      return;}
       
     // DataOutputStream dos = 
        // new DataOutputStream(new fileOutputStream("file://localhost/settings/1.rec"));
       //   dos.writeUTF("Score"); 
      //  dos.close();
       
         try 
         {
          System.out.println("xxxxxxxxxxxxxssdsweee: ");
             fos = fc.openOutputStream(0);
             if(fos == null) return;

             
             
             fos.write((new String("Hello, WORLD!")).getBytes()); 
             fos.close();
             fos=null;
             System.gc();
        } catch(Exception e) 
        {
             System.out.println("!!! ERROR during REWRITE file: "+e.toString());
        }
      
     
    }//void saveFile 
    


в итоге каждый раз при вызове процедуры сохранения после появления сообщения о разрешении на запись файла эмулятор наглухо зависает. Использую WTK, опция JSR75 в настройках включена. Подскажите в чём может быть дело?
PM MAIL   Вверх
Окунь
Дата 4.5.2009, 15:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 59
Регистрация: 8.2.2007
Где: Москва

Репутация: 2
Всего: 2



наглухо зависает, потому что Connector.open() кидает IllegalArgumentException, который не перехватывается

P.S. new String("Hello, WORLD!")).getBytes()  smile 
PM MAIL   Вверх
furstenberg
Дата 4.5.2009, 16:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 13.2.2008

Репутация: нет
Всего: нет



В первом примере вся конструкция заключена в try {}  catch, поэтому при возникновении к-л исключительной ситуации должно хотя бы выводится в консоль номер ошибки(ошибки перехватываются). Но этого то не происходит. Всё зависает. 

Перед нажатием кнопки yes для записи выводится сообщение:

Warning: To avoid potential deadlock, operations that
 may block, such as 
 networking, should be performed in a different thread than the 
 commandAction() handler.

Может надо в потоке запускать сохранение файлов?

PM MAIL   Вверх
furstenberg
Дата 4.5.2009, 20:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 13.2.2008

Репутация: нет
Всего: нет



Ну да, так и есть запустил в потоке savefile и всё заработало. 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса

  • Прежде чем задать вопрос прочтите это!
  • Литература по Java находится здесь.
  • Литературу по Java обсуждаем здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда

  • FAQ раздела лежит здесь!
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java ME (J2ME) | Следующая тема »


 




[ Время генерации скрипта: 0.0419 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.