【问题标题】:Write JTextArea Text as String将 JTextArea 文本写入字符串
【发布时间】:2014-01-11 18:40:23
【问题描述】:

注意:感谢user2602219Andrew Thompson 我已经解决了我的问题。我希望我能正确地批准这两个答案并投票。

我搜索了很多。我找到了一些东西,但它们不适合我。

我只想写

Hello
World

如所见。但在我的 txt 文件中,它显示了 HelloWorld

    try{
        JTextArea area = new JTextArea();
        String path = folder+"/"+name+".txt";
        BufferedWriter output = new BufferedWriter(new FileWriter(path));
        area.write(output);
        output.close();
    }
    catch(IOException ex){}

上面的代码运行良好。不过,在写之前我得做点什么。

我有一种加密方法(称为 enc)。它接受一个字符串并用另一个字母替换字母。

例如:

String text = "ABC";
String enc_text = enc(text);

//enc_text 现在是“ZXW”;

但事情就是这样。 JTextArea.write 寻找“作家”,但我必须写一个字符串,因为我的加密器返回一个字符串。

长话短说。如何制作

Hello
World

到这里

Gteeu 
Wuazx

【问题讨论】:

  • 您在寻找setText 方法吗?
  • 你需要加密字符串吗?
  • 没有人来。当我以字符串形式写入文件时,它会删除新行。当我使用 JTextArea.write 编写时,我无法使用我的加密方法。我只需要使用 JTextArea.write 之类的方法,但将参数作为字符串

标签: java textarea bufferedwriter


【解决方案1】:
  1. 从第一个文本区域获取未加密的字符串。
  2. 加密。
  3. 将加密字符串放在最终用户无法立即看到的第二个文本区域中。
  4. 对加密文本区域使用JTextCompnent.write(..) 方法。

【讨论】:

  • 感谢您对我的问题的帮助。我已经解决了:)
【解决方案2】:

尝试使用这个:

String text = "Hello" + "\nWorld";

\n 是一个新行。

【讨论】:

  • 文本来自 JTextArea 并且用户写了一些东西。感谢您的回答,但这对我没有帮助。但是如果你能告诉我如何用 \n 替换用户生成的所有 JTextArea 新行,它就会解决问题。
【解决方案3】:

您是否尝试分别读取每一行,然后将其写入所需的 txt 文件?这样您就可以使用“\n”在新行上书写。我想到的另一个解决方案是使用以下方法: 字符串 s = ""; s = s.format(something + "\n");

这样你就会在字符串本身中有行:)

【讨论】:

  • 没有。实际上这可能是我需要的。但就像我说的,我必须加密文本。所以基本上,我必须将 JTextArea 的文本转换为一个字符串(它必须只有一个字符串)并对其进行加密。然后将加密文本写入一个txt文件。
  • 这可能是一个奇怪的解决方案,但是您是否想过将加密字符添加到文件中后立即添加到 JTextArea 中?并且您可以放置​​一个 KeyListener 以在用户使用回车键时添加“\n”?
  • 是的,我想过。当在 JTextArea 上按下回车键时,写(例如)#。然后用 \n 替换所有 # 字符。它可能会打扰用户,但如果我找不到其他出路,我必须这样做。我们可以通过按回车在 JTextArea 中添加一个新行和一个字符吗?用户需要看到新行,我必须添加一个字符。你知道有什么办法吗?
  • 感谢您对我的问题的帮助。我已经解决了:)
【解决方案4】:

static void writeStringToFile(文件文件,字符串数据) 它允许您在一个方法调用中将文本写入文件。

或使用 FileUtils.writeStringToFile(new File("test.txt"), "Hello File");

【讨论】:

  • 我需要将其写入文件,因为您可以看到我的代码的某些部分
  • 所以你问如何将文本写入文件?我认为这个问题与JTextArea 有关。请澄清你在问什么!
  • 也许您没有得到问题?如果我不想编写文本文件,为什么需要 IO 命令?我的“路径”变量是怎么回事?为什么要使用 BufferedWriter?这家伙显然想写入文本文件。
  • 这就是问题所在。您想要一个“字符串”数据参数,但是当我将 JTextArea 的文本转换为字符串时,我丢失了行。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-06
  • 2013-07-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多