powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Проблема с блокировкой файла
11 сообщений из 11, страница 1 из 1
Проблема с блокировкой файла
    #37630053
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если открываю файл, который создан и не открывался в java, так:
Код: java
1.
2.
3.
4.
5.
try {
	Desktop.getDesktop().open(new File("d:\\test.xls"));
} catch (IOException e) {
	e.printStackTrace();
}



файл открывается без предупреждения что он в совместном доступе и только для чтения
Если же я создаю файл и записываю его на диск и затем пытаюсь открыть его - вылетает сообщение в Excel о том что файл только в режиме для чтения.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
File f = DoXsltTransform(data, xslt);
String fn = f.getPath();
f = null;
try {
	Desktop.getDesktop().open(new File(fn));
} catch (IOException e) {
	e.printStackTrace();
}



В DoXsltTransform происходит xslt трансформация и создается файл который и выдается в качестве результата функции.
как мне добиться чтоб в java освободить файл от блокировки?
...
Рейтинг: 0 / 0
Проблема с блокировкой файла
    #37630054
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
после закрытия приложения при открытии файла вручную - сообщение о том что файл только в режиме для чтения нет!
Получается что java коимто образом держит файл
...
Рейтинг: 0 / 0
Проблема с блокировкой файла
    #37630242
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DoXsltTransform у вас кривой. Там OutputStream не закрывается.
...
Рейтинг: 0 / 0
Проблема с блокировкой файла
    #37630630
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczDoXsltTransform у вас кривой. Там OutputStream не закрывается.

Эээ, откуда это видно??? :)
Вот код трансформации

Код: java
1.
2.
3.
transformer.transform(
		new javax.xml.transform.stream.StreamSource(datafile), 
		new javax.xml.transform.stream.StreamResult(new FileOutputStream(resfile)));



где тут OutputStream закрывать?
...
Рейтинг: 0 / 0
Проблема с блокировкой файла
    #37630641
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spЭээ, откуда это видно??? :)

Это основная причина блокировки файлов у начинающих разработчиков.
spгде тут OutputStream закрывать?
Начните, наконец, читать документацию. Не все же примеры из инета таскать.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
OutputStream = null;
try{
       out = new BufferedOutputStream(new FileOutputStream(resfile));
       transformer.transform(
		new javax.xml.transform.stream.StreamSource(datafile), 
		new javax.xml.transform.stream.StreamResult(out);
}finally{
    if(out != null){
       out.close();
    }
}



Удобнее закрывать через IOUtils.closeQuietly();
Если Java 7, то AutoClosable:
http://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html
...
Рейтинг: 0 / 0
Проблема с блокировкой файла
    #37630658
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

Спасибо, попробую
...
Рейтинг: 0 / 0
Проблема с блокировкой файла
    #37630952
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, вот еще одна странность - только сейчас заметил - при трансформации плагин зачем-то запрашивает с моего сервера какието файлы (которых у меня естественно нет) - в Fiddler они красным цветом отмечены

Что это? Как сказать чтоб он этого не делал?
...
Рейтинг: 0 / 0
Проблема с блокировкой файла
    #37630961
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Причем, только Chrome и Safari не запрашивают эти файлы, а ИЕ, Opera и FF - запрашивают...(
...
Рейтинг: 0 / 0
Проблема с блокировкой файла
    #37630985
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это SPI - Java ищет доступные реализации парсеров и трансфоматоров.
Внятной доки что-то не нашел
http://en.wikipedia.org/wiki/Service_provider_interface
http://docs.oracle.com/javase/6/docs/api/java/util/ServiceLoader.html
...
Рейтинг: 0 / 0
Проблема с блокировкой файла
    #37631021
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нашел!
надо в апплет добавить параметр

Код: java
1.
<param name="codebase_lookup" value="false">
...
Рейтинг: 0 / 0
Проблема с блокировкой файла
    #37631103
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Проблема с блокировкой файла
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]