Открытие файлов.

Ответить

Код подтверждения
Введите код в точности так, как вы его видите. Регистр символов не имеет значения.

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[url] ВКЛЮЧЁН
Смайлики ОТКЛЮЧЕНЫ

Обзор темы
   

Развернуть Обзор темы: Открытие файлов.

Re: Открытие файлов.

develprog » 01 июн 2016, 13:52

AiK писал(а): всё в кодировке cp1251.

А какую установить кодировку в JTextArea? Какую бы не ставил выводит все равно квадратами .

Код :
File f = fileopen.getSelectedFile();
try (Reader reader = new InputStreamReader(new FileInputStream(f), "Cp1251"))
{
char[] buffer = new char[(int)f.length()];
reader.read(buffer);
tx.read( new FileReader( f.getAbsolutePath() ), null );
}
catch(IOException tx){
System.out.println(tx.getMessage());
}
}
});

Re: Открытие файлов.

develprog » 27 май 2016, 20:38

AiK писал(а):. У компонент для вывода лучше иметь кодировку UTF-8. Ну а файл может быть произвольной кодировки. Сейчас у тебя программа работает только если всё в кодировке cp1251.

Теперь понятно. Осталось додуматься как сделать вывод в UTF-8.

Re: Открытие файлов.

AiK » 27 май 2016, 19:13

Смотри. У тебя есть две кодировки. Одна кодировка содержимого файла, а вторая - компонента, в который ты выводишь это содержимое. У компонент для вывода лучше иметь кодировку UTF-8. Ну а файл может быть произвольной кодировки. Сейчас у тебя программа работает только если всё в кодировке cp1251.

Re: Открытие файлов.

develprog » 27 май 2016, 16:47

AiK писал(а):

Код: Выделить всё

reader =   new InputStreamReader(new FileInputStream(f), "UTF-8");

Не получилось. Поменял просто свойства проекта в NetBeans, кодировку с UTF-8 на windwos 1251, выводит все как надо, но сомнительно, что будет работать на других компьютерах без нужного кода.

Re: Открытие файлов.

AiK » 27 май 2016, 16:01

Попробуй

Код: Выделить всё

reader =   new InputStreamReader(new FileInputStream(f), "UTF-8");

Re: Открытие файлов.

develprog » 27 май 2016, 15:36

AiK писал(а): метод getSelectedFile()

Уже нашел как открыть файл, только другим способом, осталось сделать правильную кодировку алфавита и вывод в JTextArea.

Вот код который открывает файл :

Код: Выделить всё

 File f = fileopen.getSelectedFile();
            try(FileReader reader = new FileReader(f)) 
         {
          char[] buffer = new char[(int)f.length()];
            reader.read(buffer);
            System.out.println(new String(buffer));
         }
         catch(IOException tx){
           System.out.println(tx.getMessage());
        }
            }

Re: Открытие файлов.

AiK » 27 май 2016, 15:25

А в чём загвоздка? Получить выбранный файл - метод getSelectedFile() у файлчузера, Прочитать файл в строку - штук 5 разных способов есть.

Re: Открытие файлов.

develprog » 27 май 2016, 14:29

AiK писал(а):Выполняешь в браузере?

нет. NetBeans.

Re: Открытие файлов.

AiK » 27 май 2016, 14:23

Выполняешь в браузере?

Открытие файлов.

develprog » 27 май 2016, 14:00

Не получается сделать так что бы "TXT" файл открывался и содержимое выводилось в JTextArea. Желательно помочь кодом.

Код:

Код: Выделить всё

mi1.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent event) {
JFileChooser fileopen = new JFileChooser();
int ret = fileopen.showDialog(null, "Открыть файл"); 
if (ret == JFileChooser.APPROVE_OPTION) {
}
}
});

Вернуться к началу