gpt4 book ai didi

java - 除了存储为字符串的某些单词之外,如何将 JTextArea 中的文本写入文件?

转载 作者:行者123 更新时间:2023-12-02 09:51:34 24 4
gpt4 key购买 nike

基本上,我构建了一个界面,将用户的输入接收到文本区域。按 Control + C 后,用户将输入保存到 file.txt。

界面默认有两种文本:一种是程序启动时显示(“请在此处输入您的文本!”),另一种是用户按 Control + C 键成功保存文本时显示(“文本添加成功!”) ”)。

问题是通过使用 Control + C 键,用户甚至可以保存我上面提到的两个默认文本。我正在使用 keyListener 来实现我的目标,它工作得很好。另外,我写了一个“If”语句来排除这两个默认文本,但它不起作用。

txtArea.addKeyListener(new KeyListener() {

@Override
public void keyTyped(KeyEvent e) {
}
@Override
public void keyPressed(KeyEvent e) {
String notThisTxt = txtArea.getText();
String text1 = "Please enter your text in here!";
String text2 = "Text added successfully!";

if(!notThisTxt.contentEquals(text1) || !notThisTxt.contentEquals(text2)) {
if ((e.getKeyCode() == KeyEvent.VK_C) && e.isControlDown()) {
try {
file.createNewFile();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
FileWriter fw = null;
String someSpace = " ";
BufferedWriter br = null;
try {
fw = new FileWriter(file.getAbsoluteFile(), true);
br = new BufferedWriter(fw);

br.write(someSpace);
txtArea.write(br);
}catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}finally {
}try {
br.close();
fw.close();
}catch(IOException e2) {
System.out.println("The programm doesn't want to close!" + e2);
}
}
txtArea.setText(txtAdded);
}
else{
System.out.println("test");
}
}

@Override
public void keyReleased(KeyEvent e) {
}
});

我希望从这段代码中获取用户可能输入的所有文本并将其保存为 file.txt,但包含默认文本的 2 个字符串除外。

最佳答案

if (!notThisTxt.contentEquals(text1) || !notThisTxt.contentEquals(text2)) 将始终评估为 true,因为一个字符串不可能等于两个不同的字符串同一时间。 notThisTxt 保证不等于至少其中之一。

您可能想检查 notThisTxt ≠ text1 notThisTxt ≠ text2。

您想要编写代码来准确执行上面这句话。具体来说,您需要使用“and”(&&)而不是“or”(||)。

关于java - 除了存储为字符串的某些单词之外,如何将 JTextArea 中的文本写入文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56291830/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com