BufferedReader怎么读取文本框中的输入
时间: 2023-12-12 12:52:46 浏览: 65
如果你是在Java中使用BufferedReader来读取文本框中的输入,可以先获取文本框的输入流,然后使用InputStreamReader将其转换为BufferedReader,就可以使用BufferedReader的读取方法来读取文本框中的输入了。
下面是一个简单的示例代码:
```java
JTextField textField = new JTextField();
BufferedReader reader = new BufferedReader(new InputStreamReader(textField.getInputStream()));
String input = reader.readLine();
```
这里假设文本框的变量名为textField。请注意,这只是一个简单的示例,如果你要在GUI应用程序中使用文本框,你需要自己实现获取文本框的输入流的方法。
相关问题
Java读取文本框中内容,替换原文本文档中的内容
可以使用Java的File类和IO流来读取和写入文本文件,同时使用Java的Swing框架中的JTextField组件来获取文本框中的内容。
以下是一个示例代码,可以实现从一个文本框中读取文本,然后将文本替换到一个指定的文本文件中:
```java
import java.io.*;
import javax.swing.*;
public class ReplaceTextInFile {
public static void main(String[] args) {
// 创建一个文本框组件
JTextField textField = new JTextField(20);
// 显示一个输入对话框,获取用户输入的内容
int result = JOptionPane.showConfirmDialog(null, textField, "请输入要替换的文本", JOptionPane.OK_CANCEL_OPTION);
if (result == JOptionPane.OK_OPTION) {
// 获取用户输入的内容
String text = textField.getText();
try {
// 创建一个文件对象
File file = new File("input.txt");
// 创建一个文件输入流
FileInputStream inputStream = new FileInputStream(file);
// 创建一个文件输出流
FileOutputStream outputStream = new FileOutputStream("output.txt");
// 创建一个缓冲字符输入流
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
// 创建一个缓冲字符输出流
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(outputStream));
// 逐行读取原文本文件中的内容,并将用户输入的文本替换到文件中
String line;
while ((line = reader.readLine()) != null) {
line = line.replace("原文本", text);
writer.write(line);
writer.newLine();
}
// 关闭输入输出流
reader.close();
writer.close();
inputStream.close();
outputStream.close();
// 显示一个消息对话框,提示文件已成功替换
JOptionPane.showMessageDialog(null, "文件已成功替换");
} catch (IOException e) {
// 显示一个错误对话框,提示文件操作失败
JOptionPane.showMessageDialog(null, "文件操作失败:" + e.getMessage(), "错误", JOptionPane.ERROR_MESSAGE);
}
}
}
}
```
其中,需要将"原文本"替换成您要替换的文本文件中的内容。这段代码仅供参考,您可以根据自己的具体需求进行修改。
编写java程序1.要求在文本框中输入有关信息,单击“添加”按钮,在下面的多行文本域中显示输入的的信息(如姓名、性别、年龄、爱好); 2.单击“读取”按钮将文本文件中的信息显示到多行文本域中。 单击“保存”按钮将把多行文本域中的内容保存到文本文件中,并退出窗口。
好的,这是一个简单的Java GUI程序,可以按照您的要求实现输入、显示、读取和保存功能。以下是一个基本的实现:
```java
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
public class InfoEditor extends JFrame implements ActionListener {
private JTextArea textArea;
private JTextField nameField, genderField, ageField, hobbyField;
public InfoEditor() {
super("信息编辑器");
// 创建输入框和标签
JPanel inputPanel = new JPanel(new GridLayout(4, 2));
inputPanel.add(new JLabel("姓名:"));
nameField = new JTextField(10);
inputPanel.add(nameField);
inputPanel.add(new JLabel("性别:"));
genderField = new JTextField(10);
inputPanel.add(genderField);
inputPanel.add(new JLabel("年龄:"));
ageField = new JTextField(10);
inputPanel.add(ageField);
inputPanel.add(new JLabel("爱好:"));
hobbyField = new JTextField(10);
inputPanel.add(hobbyField);
// 创建按钮
JButton addButton = new JButton("添加");
addButton.addActionListener(this);
JButton readButton = new JButton("读取");
readButton.addActionListener(this);
JButton saveButton = new JButton("保存");
saveButton.addActionListener(this);
// 创建文本框和滚动条
textArea = new JTextArea(10, 30);
JScrollPane scrollPane = new JScrollPane(textArea);
// 添加组件
Container contentPane = getContentPane();
contentPane.add(inputPanel, BorderLayout.NORTH);
contentPane.add(scrollPane, BorderLayout.CENTER);
contentPane.add(addButton, BorderLayout.WEST);
contentPane.add(readButton, BorderLayout.CENTER);
contentPane.add(saveButton, BorderLayout.EAST);
// 设置窗口属性
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pack();
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand().equals("添加")) {
String name = nameField.getText();
String gender = genderField.getText();
String age = ageField.getText();
String hobby = hobbyField.getText();
String info = String.format("%s\t%s\t%s\t%s\n", name, gender, age, hobby);
textArea.append(info);
nameField.setText("");
genderField.setText("");
ageField.setText("");
hobbyField.setText("");
} else if (e.getActionCommand().equals("读取")) {
try {
BufferedReader reader = new BufferedReader(new FileReader("info.txt"));
String line;
while ((line = reader.readLine()) != null) {
textArea.append(line + "\n");
}
reader.close();
} catch (IOException ex) {
ex.printStackTrace();
}
} else if (e.getActionCommand().equals("保存")) {
try {
BufferedWriter writer = new BufferedWriter(new FileWriter("info.txt"));
writer.write(textArea.getText());
writer.close();
dispose();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
public static void main(String[] args) {
new InfoEditor();
}
}
```
这个程序创建了一个窗口,包括四个文本框和一个多行文本域。在输入框中输入信息后,单击“添加”按钮,程序会将信息添加到多行文本域中。单击“读取”按钮,程序会从文件中读取信息,并显示到多行文本域中。单击“保存”按钮,程序会将多行文本域中的内容保存到文件中,并退出窗口。
阅读全文