Чтение и загрузка данных из файла в JTextPane - Java
Формулировка задачи:
Добрый день! Хотелось бы поинтересоваться как можно реализовать чтение и вывод содержимого txt файла в JTextPane.
я пробую так, но до конца дописать не хватает знаний. Буду рад помощи!
private void jMenuItem3ActionPerformed(java.awt.event.ActionEvent evt) {
FileDialog FD; // поиск файлов
FD = new FileDialog(this, "Open file",FileDialog.LOAD);
FD.show();
// полный путь
polnijput = FD.getDirectory()+FD.getFile();
setTitle("Bloknot test" + " - " +polnijput);
//чтениt данных из файлов
FileInputStream FIS = null;//для чтения данных из файлов
try
{
FIS = new FileInputStream(polnijput);
buf = new byte[FIS.available()]; // массив байтов
FIS.read(buf);//прочитанные данные
}
catch (IOException ex)
{
System.out.println(ex.toString());
}
// массив buf теперь хранит прочитанныеданные
// Выбираем всё содержимое тектсовой области
jTex.selectAll();
jTex.cut(); // тут я вырезаю, так как метод удаления не знаю пока
// Преобразуем массивв строку
String szStr = new String(buf);
StringTokenizer st;
st = new StringTokenizer(szStr, " ");
while(st.hasMoreElements())
{
szStr = new String((String)st.nextElement());// получаем очередной элемент и преобразуем его в строку
// а вот тут его нужно записать. каким методом бы?
}
try
{
FIS.close();
}
catch (IOException ex)
{
System.err.println(ex.toString());
}
}Решение задачи: «Чтение и загрузка данных из файла в JTextPane»
textual
Листинг программы
class FileUtils {
public static String read(File file) {
StringBuilder sb = new StringBuilder();
if (!file.exists()) {
throw new RuntimeException("File not found!");
}
try (BufferedReader in = new BufferedReader( new InputStreamReader(
new FileInputStream(file), Charset.forName("UTF-8")))) {
String s;
while ((s = in.readLine()) != null) {
sb.append(s);
sb.append("\n");
}
} catch (IOException e) {
System.err.println("Error: " + e.getMessage());
}
return sb.toString();
}
}