java - 如何将多个变量写入文本文件?
问题描述
我是一个初学者程序员,我有一个关于 iostreams 的问题。最近我学会了如何使用 PrintWriter 将字符串或变量写入文本文件。现在我正在创建一个小程序,但我需要输出多个变量。我是否需要为每个变量创建一个不同的文件,或者我可以将所有变量输出到一个文本文件?如果是这样,我如何将它们读回我的程序中。
//write
static File data = new File ("data.txt");
static PrintWriter outputStream = new PrintWriter(data);
outputStream .println("test");
outputStream .close();
//read
Scanner inputStream = new Scanner(data);
String test = input.nextLine();
解决方案
不是 100% 确定您正在尝试做什么,而没有看到变量以及您试图用它们做什么。如果您只是希望能够将多个字符串写入和读取到一个文件中,您可以手动将所有内容输出到一个文件中,如下所示:
outputStream.println("test1");
outputStream.println("test2");
outputStream.println("test3");
outputStream.close();
要逐行阅读,只需执行
while (scanner.hasNextLine()) {
System.out.println(scanner.nextLine());
}
既然您提到您将它们存储为变量,那么根据场景您可以使用某种类型的 Collections 类,例如 ArrayList 或 HashMap。
// add all strings from each new line to an ArrayList
while (scanner.hasNextLine()) {
varArray.add(scanner.nextLine());
}
// close your streams
scanner.close();
// iterate the ArrayList and print all values
for (String var : varArray) {
System.out.println(var);
}
// grab value by its index in the ArrayList
System.out.println("Get variable from index 2: " + varArray.get(2));
在任何情况下,除非您可以依赖字符串写入文件的顺序,否则您需要有一些条件才能返回您想要的。这将按照插入的顺序将它们全部打印出来。
推荐阅读
- javascript - 如何在弹出窗口中使用脚本中的变量
- python - 多处理仅适用于第一次迭代
- excel - 如何在excel 2013中按日期和时间过滤日期?
- c++ - 如何在二维向量 i,j 上设置条件
- c++ - C ++:语法错误:'string'但在另一个项目中仍然编译成功?
- javascript - Javascript:如果按下某个键,则停止鼠标移动事件
- javascript - 我可以制作带有两个类别轴的水平条形图吗?
- spring - Springboot mongo docker-compose 连接失败
- android - ssl3 警报证书在 Android 工作室上未知到蚊子经纪人
- jquery - Highcharts 导出为 PDF,文本在 PDF 的顶部中心对齐