当前位置: 首页 > 面试题库 >

将文本文件加载到文本区域

花永昌
2023-03-14
问题内容

首先,我对Java非常基础。我正在尝试浏览.txt文件并将其内容加载到文本区域。我已经完成了该部分,直到从JFileChooser接收文件为止,现在我不知道如何做其余的工作。

.
.
.

File selFile = new File(fileChooser.getSelectedfile());
/// From here I want to load its content to a textarea "txtArea"

问题答案:

使用所有Swing文本组件都支持的read(…)和write(…)方法。简单的例子:

import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
import javax.swing.text.*;

class TextAreaLoad
{
    public static void main(String a[])
    {
        final JTextArea edit = new JTextArea(30, 60);
        edit.setText("one\ntwo\nthree");
        edit.append("\nfour\nfive");

        JButton read = new JButton("Read TextAreaLoad.txt");
        read.addActionListener( new ActionListener()
        {
            public void actionPerformed(ActionEvent e)
            {
                try
                {
                    FileReader reader = new FileReader( "TextAreaLoad.txt" );
                    BufferedReader br = new BufferedReader(reader);
                    edit.read( br, null );
                    br.close();
                    edit.requestFocus();
                }
                catch(Exception e2) { System.out.println(e2); }
            }
        });

        JButton write = new JButton("Write TextAreaLoad.txt");
        write.addActionListener( new ActionListener()
        {
            public void actionPerformed(ActionEvent e)
            {
                try
                {
                    FileWriter writer = new FileWriter( "TextAreaLoad.txt" );
                    BufferedWriter bw = new BufferedWriter( writer );
                    edit.write( bw );
                    bw.close();
                    edit.setText("");
                    edit.requestFocus();
                }
                catch(Exception e2) {}
            }
        });

        JFrame frame = new JFrame("TextArea Load");
        frame.getContentPane().add( new JScrollPane(edit), BorderLayout.NORTH );
        frame.getContentPane().add(read, BorderLayout.WEST);
        frame.getContentPane().add(write, BorderLayout.EAST);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.pack();
        frame.setLocationRelativeTo( null );
        frame.setVisible(true);
    }
}


 类似资料:
  • 问题内容: 在我的在线计算机科学课上,我必须编写一个程序来确定太阳系中每个行星的表面重力。除了一个方面,我几乎已经掌握了它的所有方面。我需要使用单独的方法将表面重力写入文件。这是我目前的方法: 我的问题是,当我将其写入文件时,它将覆盖先前的值。我如何获得它包括所有的价值。如果有帮助,这是我的全部代码: 问题答案: 这样做是为了创建带有追加模式的作品:

  • 问题内容: 在Linux中将文本附加到文件的最简单方法是什么? 我看了这个问题,但是可接受的答案使用了一个附加程序(),我相信应该有一个更简单的方法或类似方法。 问题答案: cat >> filename This is text, perhaps pasted in from some other source. Or else entered at the keyboard, doesn’t

  • 我想把一个html文件加载到WebView中。 请注意,在so上有很多相关的问题,但它们都涉及从资产文件夹获取**.html*。 但是我想从本地文件夹加载html文件,比如“d://abc.html”,因为如果我的html大约是10MB,那么相应的apk大小也会增加到10MB。

  • 我正在尝试将此文件加载到我的webview中,但它没有加载 文件路径类似于 /数据/用户/0/com。xyzapp。应用程序/缓存/临时文件。docx//这是GetPathh 下面是我的代码 第一项活动:- 第二项活动:- 如果我使用Action\u view 我因为“E/UncaughtException:android”而崩溃。操作系统。FileUriExposedException:file

  • 任务:我已经创建了一个片段抽屉,在这里我有textview,文本“MyName”就在我的图像下面,然后有nav_row项,所以我想做的是,当单击该文本时,它应该将活动从MainActivity切换到profileinfo,我创建了webview,它的活动profileinfo应该加载我的html文件...所以我做的是这里--> webview xml在这里--> profileinfo活动 这是我

  • 我已经创建了一个函数来使用URL从文件中获取文本。该函数使用jQuery的来获取文件。这个函数工作得很好,但这里的问题是是异步的,所以输出的顺序是不可预测的。我尝试将它更改为同步的,但它完全冻结了页面。我尝试过等待它响应,我想我会花点时间,但它没有起作用。 这是我的密码。 此函数输出 这就产生了一个问题,因为我无法文件的内容,因为它还没有加载,因为异步的get函数。那么,有没有办法告诉函数等待返回