【发布时间】:2016-01-27 23:28:03
【问题描述】:
我的简单程序从键盘或文本字段获取输入并将其放入 JTextArea,如下所示:
1111,1111;\n
2222,2222;\n
3333,3333;\n
.
.
.
\n
当我完成输入数据时,我想将其保存到 txt 文件中,但是有一个条件 - 当有超过 30 行时,来自 jtextarea 的数据必须拆分成更小的“包”(每个人都必须有只有 30 行(或最后一行),它们必须保存到单独的 txt 文件中。每个文件的末尾必须有空行 (\n)。
我知道如何创建文件。
我可以算出我必须从 jtextarea 中拆分数据的数量。
但我不知道如何在第一次运行时通过扫描仪读取 1-30 行并将其保存到文件,在第二次运行时读取 31-60 并保存等。
String string = jtextarea.getText() gets all the lines
我也尝试过这样的事情:
for (int i=1; i<31; i++)
{
while(scaner.hasNext())
pw.println(scaner.nextLine());
}
但它也会读取所有行
这也不起作用 - 只给出 30 个字符 - 不是行:
String alltext = jtextare.getText();
String lines = alltext.substring(0, 30);
这个例子我看不懂:
String text = inputArea.getText();
int totalLines = inputArea.getLineCount();
for (int i=0; i < totalLines; i++) {
int start = inputArea.getLineStartOffset(i);
int end = inputArea.getLineEndOffset(i);
String line = text.substring(start, end);
outputArea.append(line + "\n");
}
当我不能指出行号时,为什么还要麻烦,只能在行中定位。
请帮我解决这个问题 - 你能描述一下正确的循环和命令吗?
问题的简单描述
我有 100 行文本的 jTextArea。每行以 \n 结尾。
我想将这 100 行拆分为每组 30 行的组,并将每个组写入 txt 文件 - 每个 txt 文件将包含 30 行文本(每行以 \n 结尾)和最后 (31) 行应该是空的。 最简单的方法是什么?
【问题讨论】:
-
30 行还是 30 个字符?
-
每个文件我需要 30 行 (+\n)
-
给出一个样本输入,以及你想要的预期输出。你写的不清楚。
-
@Hackerdarshi - 我添加了更简单的截图问题描述