2009-01-29 4 views
3

Я пытаюсь удалить файл с использованием метода FileConnection.delete() J2ME, но при вызове метода delete() я генерирую исключение IOException. Я написал условное утверждение, чтобы проверить существование файла, но независимо от этого, генерируется исключение IOException.Удаление файла с помощью J2ME вызывает IOException

В соответствии с FileConnection API, когда объект delete() вызывается в объекте FileConnection, все потоки, связанные с объектом, закрываются, и при возникновении любых последующих действий над потоками, связанными с конкретным файлом, генерируется исключение IOException.

Файл, который я пытаюсь удалить, был записан в одной программе, но после вызова метода delete() я вызываю recordControl.reset(). Может ли это вызвать IOException?

Что может быть моей проблемой?

+0

Надеюсь, кто-то, знакомый с J2ME, может вам помочь, но, глядя на JavaDoc, он не выглядит как delete() может вызывать исключение IOException. У вас есть полная трассировка стека? Это точно скажет вам, что вызывает IOException. – Eddie

+0

Какой телефон это происходит? в какой папке находится файл? –

ответ

1

Эта трассировка стека исключений скажет вам, какая строка кода бросает IOException, а иногда вы также получаете причину исключения, так что посмотрите на трассировку стека.

4

Я считаю, что кто-то из вашего кода подключен к файлу, который вы хотите удалить. Вы должны вручную закрыть все подключения к существующему файлу и не доверять тому, что кто-то другой сделает это за вас.

У вас есть файл в другом приложении, например блокнот?

+0

Это то, что было для меня, когда у меня было это. Предположим, что вы работаете в эмуляторе WTK. – izb

1

Проверьте строку, включающую путь, который вы передаете в Connector.open() , проверьте права доступа к файлам, закройте все потоки, открытые для этого файла, перед удалением.