将每个返回的字符串添加到文本文件中[重复]

Posted

技术标签:

【中文标题】将每个返回的字符串添加到文本文件中[重复]【英文标题】:Add every returned string into a text file [duplicate] 【发布时间】:2021-07-25 21:54:52 【问题描述】:

我有一个程序可以在提供它的 ID 时返回 youtube 视频的标题并且它工作正常。问题是当我尝试将返回的结果添加到文本文件时,它只添加最后一个字符串,而当我 console.log 结果时,它会打印整个返回的结果。我哪里做错了。如何让它将整个返回的字符串添加到文本文件中。任何帮助表示赞赏。提前致谢。

google.youtube('v3').videos.list(
  key: youtubeKey,
  part: 'snippet,contentDetails,statistics',
  id: 'Ks-_Mh1QhMc,c0KYU2j0TM4,eIho2S0ZahI',
).then((response) => 
const 
  data
 = response;
data.items.forEach((item) => 
  const title = (`$item.snippet.title`)
  console.log(title)//logs every result
  fs.writeFileSync('filePath', title)//logs only the last string
)
).catch((err) => console.log(err));
);

【问题讨论】:

【参考方案1】:

这是因为你一直在覆盖文件,所以文件中只有最后一个字符串。您需要使用appendFile,而不是writeFile,它会覆盖之前的数据。

 google.youtube('v3').videos.list(
  key: youtubeKey,
  part: 'snippet,contentDetails,statistics',
  id: 'Ks-_Mh1QhMc,c0KYU2j0TM4,eIho2S0ZahI',
).then((response) => 
const 
  data
 = response;
data.items.forEach((item) => 
  const title = (`$item.snippet.title`)
  fs.appendFileSync('filePath', title)//logs all strings
)
).catch((err) => console.log(err));
);

【讨论】:

是的,这就是问题所在,谢谢你会在计时器完成后接受答案。@r3fl3ct

以上是关于将每个返回的字符串添加到文本文件中[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何将文本文件的内容转换为单个变量? (java) [重复]

文本文件字符串拆分然后将每个元素输出到视图表中

将文本添加到文件的第一行 [重复]

Java - 将没有时间的当前日期存储到文本文件中[重复]

删除重复的数组条目

如何在java中将文本添加到文本文件中? [复制]