所以我不确定是否还有其他这样的问题,但从我所看到的,他们似乎都没有帮助我。
所以我有一个字符串,上面写着"你好","美好的一天"和"再见"我声明它像这样
class ArticlesController < ApplicationController
def show
@article = Article.find(params[:id])
end
def new
end
def create
@article = Article.new(article_params)
@article.save
redirect_to @article
end
private
def article_params
params.require(:article).permit(:title, :text)
end
end
现在我想在项目子目录下的一个名为&#34;输出&#34;的文件夹下创建一个txt文件,所以它的目录是user / project1 / output
问题是我希望这个txt文件在一个单独的行上打印每个单词,到目前为止我有以下代码确实生成带有内容字符串的txt文件,但所有内容都在同一行上
String content="hello\n good day\n good bye";
,输出看起来像这样
File file = new File("output1.txt");
FileOutputStream outputStream = new FileOutputStream(file, false);
PrintWriter out = new PrintWriter(outputStream, true);
out.println(content);
我怎么能拥有它,所以txt文件看起来像这样
hello good day food bye
答案 0 :(得分:0)
不同的平台使用不同的行结尾,但您可以使用正则表达式将content
分割为\n
,如果您在换行符后面有空格,则可以匹配他们也是。另外,您还没有显示关闭PrintWriter
的方式 - 我更喜欢try-with-resources
。像,
String content="hello\n good day\n good bye";
File file = new File("output1.txt");
try (PrintWriter out = new PrintWriter(new FileOutputStream(
file, false), true)) {
for (String line : content.split("\\n\\s*")) {
out.println(line);
}
}
答案 1 :(得分:0)
将字符串内容更改为此。
String content = "hello" + System.lineSeparator() + "good day" + System.lineSeparator() + "good bye";
编辑 - 此代码适用于我:
public static void main(String[] args) throws FileNotFoundException {
String content = "hello" + System.lineSeparator() + "good day" + System.lineSeparator() + "good bye";
File file = new File("output1.txt");
FileOutputStream outputStream = new FileOutputStream(file, false);
PrintWriter out = new PrintWriter(outputStream, true);
out.println(content);
}