Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Проблемы с доступом к файлам в апплете / 2 сообщений из 2, страница 1 из 1
23.01.2012, 01:07:20
    #37626269
sp
sp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с доступом к файлам в апплете
Есть класс
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
import java.applet.Applet;
import java.awt.Desktop;
import java.awt.Toolkit;
import java.io.File;
import java.io.IOException;

public class TwoTest extends Applet{
	private static final long serialVersionUID = 1L;

	public int getScreenWidth() {
	    return Toolkit.getDefaultToolkit().getScreenSize().width;
	  }
	  public int getScreenHeight() {
	    return Toolkit.getDefaultToolkit().getScreenSize().height;
	  }
	  public void SaveAndOpen(String text, String fileName){
		   System.out.println ("write file:");
		   try {
			   File f = new java.io.File("c:\\test.txt");
			   if (!f.exists()) {
				   f.createNewFile();
			   }
		   } catch (IOException e) {
				e.printStackTrace();
			}
	   }
	  
	  public void opendoc(){
		  System.out.println ("opendoc");
		  try {
			  Desktop.getDesktop().open(new File("c:\\test.xls"));
		    } catch (IOException ioe) {
		      ioe.printStackTrace();
		    }  
	  }
	  
	  public void init(){
		  SaveAndOpen("","");
		  opendoc();
	  }
	  
}



получаем jar-архив и подписываем его сертификатом сервера
и имеем страницу

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
<html>
<head>
</head>
<body>
	<script>
		function getScreenDimension() {
			alert("Screen Dimension\r\n  width:" + document.myApplet.getScreenWidth() + " height:" + document.myApplet.getScreenHeight());
		}
		function func0() {
			document.myApplet.opendoc();
		}
		function func1() {
			document.myApplet.SaveAndOpen('','');
		}
	</script>
	<form>
	<input type="button" value="call JAVA" onclick="getScreenDimension()" />
	<input type="button" value="create .txt file" onclick="func1()" />
	<input type="button" value="open XLS" onclick="func0()" />
	</form>
	<applet code="TwoTest.class" archive="TwoTest.jar" name="myApplet" height="0" width="0"></applet>
</body>
</html>



при инициализации апплета создается файл c:\\test.txt и открывается Excel c:\\test.xls, но при попытке выполнить их из javaScript - ничего не происходит, хотя метод getScreenWidth() и getScreenHeight() выполняется.

Помогите разобраться почему не выполняются методы opendoc и SaveAndOpen из JavaScript
...
Рейтинг: 0 / 0
23.01.2012, 02:37:39
    #37626293
sp
sp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с доступом к файлам в апплете
нашел решение - операции с файлами надо выполнить в блоке

Код: java
1.
2.
3.
4.
5.
6.
7.
AccessController.doPrivilegedWithCombiner(new PrivilegedAction<Void>() {
	public Void run() {
		//поместить код тут
		.....
		return null;
	}
});
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Проблемы с доступом к файлам в апплете / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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