Чтение файла
От: Sergey New  
Дата: 17.09.03 14:39
Оценка:
Апплет читает данные из текстового файла и пишет их в TextArea. В отладчике Microsoft Visual J++ 6.0 все работает, а в ИЕ6 нет. В чем ошибка?

import java.applet.Applet;
import java.awt.*;
import java.io.*;
import java.util.*;
import java.net.*;

public class GedRead extends Applet {
TextArea txt;
String filename;
String str="";
String thisLine;
public void init() {
filename = getParameter("filename");
try
{
BufferedReader fin = new BufferedReader(new FileReader(filename));
while ((thisLine = fin.readLine()) != null)
{
str=str+thisLine+"\n";
}
}
catch (FileNotFoundException e) {
str=("Файл " + filename + " не найден");
}
catch (Exception e) {
e.printStackTrace();
}
txt = new TextArea(str, 30, 120);
txt.setEditable(false);
add("Center",txt);
}
Re: Чтение файла
От: CMEX_ Россия  
Дата: 17.09.03 14:41
Оценка:
Здравствуйте, Sergey New, Вы писали:

SN>Апплет читает данные из текстового файла и пишет их в TextArea. В отладчике Microsoft Visual J++ 6.0 все работает, а в ИЕ6 нет. В чем ошибка?

А у аплета прав хватает???
______________________
Андрей Панов
Re[2]: Чтение файла
От: Sergey New  
Дата: 17.09.03 18:20
Оценка:
Здравствуйте, CMEX_, Вы писали:

CME>А у аплета прав хватает???

Наверное хватает. Другой апплет с теми же задачами работает
Re[3]: Чтение файла
От: TRV  
Дата: 18.09.03 20:00
Оценка:
Здравствуйте, Sergey New, Вы писали:

CME>>А у аплета прав хватает???

SN>Наверное хватает. Другой апплет с теми же задачами работает

В Java консоль смотрели? Никаких java.security.AccessControlException?
И приведите пожалуйста путь к файлу, который вы там из параметра "filename" берете...
... << RSDN@Home 1.1 beta 1 >>
WBR, Руслан
Re[4]: Чтение файла
От: Sergey New  
Дата: 19.09.03 03:27
Оценка:
Здравствуйте, TRV, Вы писали:

TRV>В Java консоль смотрели? Никаких java.security.AccessControlException?

TRV>И приведите пожалуйста путь к файлу, который вы там из параметра "filename" берете...

Файл test.txt в той же папке, что и класс.

Документ:
<HTML><HEAD>TITLE>!</TITLE></HEAD><BODY>
<APPLET id=Applet1 height=500 width=800 code=GedRead>
    <PARAM NAME="filename" VALUE="test.txt">
</APPLET>
</BODY></HTML>


Повторяю, что другой апплет, использующий другой метод чтения файла — работает.
Re[5]: Чтение файла
От: Cider Россия  
Дата: 19.09.03 07:10
Оценка: +1
Здравствуйте, Sergey New, Вы писали:

SN>Повторяю, что другой апплет, использующий другой метод чтения файла — работает.


Сколько раз уже........
Апплет с умолчанческими правами не имеет доступа к файловой системе.
Чтобы достучаться до этой системы, апплет должен быть подписан.
Либо можно сосать файл с сервера, с которого загружен апплет, через ХТТП.

Cider
Cider
Re[6]: Чтение файла
От: Sergey New  
Дата: 19.09.03 16:48
Оценка:
Здравствуйте, Cider, Вы писали:
C>Сколько раз уже........
C>Апплет с умолчанческими правами не имеет доступа к файловой системе.
C>Чтобы достучаться до этой системы, апплет должен быть подписан.
C>Либо можно сосать файл с сервера, с которого загружен апплет, через ХТТП.

C>Cider

Еще раз повторяю, что другой апплет, использующий другой метод чтения файла — работает. И права у него такие же.
Т.е. никаких.
Re[7]: Чтение файла
От: Blazkowicz Россия  
Дата: 20.09.03 05:38
Оценка:
Здравствуйте, Sergey New, Вы писали:

SN>Еще раз повторяю, что другой апплет, использующий другой метод чтения файла — работает. И права у него такие же.

SN>Т.е. никаких.

Что бы получить ответ на свой вопрос лучше описать как именно не работает апплет, и что такое "другой метод чтения". А так же изучить вопрос с правами апплетов.

А то кинул сырцы: "во! на работает! памагите!"
Re[8]: Чтение файла
От: Sergey New  
Дата: 20.09.03 09:43
Оценка:
Здравствуйте, Blazkowicz, Вы писали:

B>Что бы получить ответ на свой вопрос лучше описать как именно не работает апплет, и что такое "другой метод чтения". А так же изучить вопрос с правами апплетов.

B>А то кинул сырцы: "во! на работает! памагите!"

Почему сырцы? Привел полный текст апплета. Казалось, чего проще — проверить у себя и дать совет?
Изучать права обязатедьно буду, спасибо!
Другой метод — читать байт и преобазовать его в символ.
Действительно: "во! на работает! памагите!"
Re: Чтение файла
От: TRV  
Дата: 20.09.03 17:14
Оценка:
Здравствуйте, Sergey New, Вы писали:

SN>Апплет читает данные из текстового файла и пишет их в TextArea. В отладчике Microsoft Visual J++ 6.0 все работает, а в ИЕ6 нет. В чем ошибка?


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

Заранее благодарен,
... << RSDN@Home 1.1 beta 1 >>
WBR, Руслан
Re: Чтение файла
От: Sergey New  
Дата: 21.09.03 05:08
Оценка:
Не скажу, что победил — знаний не хватает, но работает:
import java.applet.*;
import java.awt.*; 
import java.io.*;
import java.net.*;

public class GedRead extends Applet {
    String text;
    String curLine;
    public void init() {
        String filename = getParameter("filename");
        TextArea txt = new TextArea(40,150);
        add(txt);
        try {
            URL url = new URL(getCodeBase()+filename);
            URLConnection urlc = url.openConnection();
            BufferedReader in = new BufferedReader(new InputStreamReader(urlc.getInputStream())); 
            while ((curLine = in.readLine()) != null){
                if (text == null){text=curLine;}
                else {text=text+"\n"+curLine;}
            }
        }
        catch (FileNotFoundException e) {
            text=("Файл " + filename + " не найден.");}
        catch (Exception e) {
            e.printStackTrace();}
        txt.setText(text);
    }
}

Может кому сгодится?
Спасибо всем!
Re[2]: Чтение файла
От: Sergey New  
Дата: 21.09.03 05:29
Оценка:
Здравствуйте, TRV, Вы писали:
TRV>Ну давайте разбираться. Для начала опишите как именно все не работает в IE6?

При выполнении
BufferedReader fin = new BufferedReader(new FileReader(filename));

возникает исключение, причем в отладчике оно не обнаруживается.

TRV>В предыдущей ветке разговора Вы сообщили, что другой апплет, с другим методом чтения файла работает. Я бы хотел уточнить, что за другой метод и почему он Вас не устраивает?


import java.applet.*;
import java.awt.*;
import java.io.*;
import java.net.*;

public class GedRead extends Applet
{
    TextArea txt;
    URLConnection urlconnection;
    public void init()
    {
        txt = new TextArea(30,150);
        add(txt);
        getGed();
    }

    void getGed()
    {
        try
        {
            String filename = getParameter("filename");
            URL url = new URL(getCodeBase()+filename);
            urlconnection = url.openConnection();
        }
        catch(Exception _ex){}
        int i = urlconnection.getContentLength();
        StringBuffer stringbuffer = new StringBuffer(i);
        try
        {
            InputStream inputstream = urlconnection.getInputStream();
            int k;
            for(int j = i; (k = inputstream.read()) != -1 && --j > 0;)
                stringbuffer.append((char)k);

            inputstream.close();
        }
        catch(Exception _ex) { }
        txt.setText(stringbuffer.toString());
        return;
    }
}

А неустраивает потому, что мне не удалось прочитать текст на кирилице. Прочитал, что нужно преобразовать юникод, но сделать пока не получилось :???:

Спасибо за внимание!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.