如何直接调用Java Arraylist以打印到txt文件?
这是我的代码,这不是一个特定的程序。我只是练习使用java Arraylist和生成txt文件,并在该文件中存储Arraylist变量。我尝试创建一个类,在这个类中,我为scanner创建了一个输入,然后将其存储到arraylist。第二种方法是制作txt文件。第三种方法是向这个txt文件中添加东西。所有方法都有效,但我不知道如何将Arraylist数据导入txt文件。我是一个乞丐,对某些人来说,我很愚蠢,我很抱歉如何直接调用Java Arraylist以打印到txt文件?,java,file,arraylist,Java,File,Arraylist,这是我的代码,这不是一个特定的程序。我只是练习使用java Arraylist和生成txt文件,并在该文件中存储Arraylist变量。我尝试创建一个类,在这个类中,我为scanner创建了一个输入,然后将其存储到arraylist。第二种方法是制作txt文件。第三种方法是向这个txt文件中添加东西。所有方法都有效,但我不知道如何将Arraylist数据导入txt文件。我是一个乞丐,对某些人来说,我很愚蠢,我很抱歉 package com.company; import java.util.A
package com.company;
import java.util.ArrayList;
import java.util.Scanner;
import java.io.File; // Import the File class
import java.io.IOException; // Import the IOException class to handle errors
import java.io.FileWriter; // Import the FileWriter class
public class Bon2Scanner {
public static void Scaner() {
Scanner scanner = new Scanner(System.in);
System.out.println("Write String name:");
ArrayList<String> Name = new ArrayList<>();
Name.add(scanner.next());
System.out.println("Write age int :");
ArrayList<Integer> Age = new ArrayList<>();
Age.add(scanner.nextInt());
System.out.println("Array list with name" + " " + Name);
System.out.println("Array list with age " + " " + Age);
}
// method for making a file
public void bonMetodScanner() {
try {
File bon2 = new File("Bon2Scanner.txt");
if (bon2.createNewFile()) {
System.out.println("File created: " + bon2.getName());
} else {
// System.out.println("File already exists. ");
return ;
}
} catch (IOException e) {
System.out.println("An error occured. ");
e.printStackTrace();
}
}
// method for writing in a file
public void bonMetodWriteScanner() {
try {
FileWriter Bon1Write = new FileWriter("Bon2Scanner.txt");
// Bon1Write.write(getYearCar() + System.lineSeparator());
//
Bon1Write.write("some text 2" + System.lineSeparator());
Bon1Write.write( ?Here i need to add my ArrayList? + System.lineSeparator()); ?????
Bon1Write.close();
System.out.println("Successfully wrote to the file.");
} catch (IOException e) {
System.out.println("An error occured.");
e.printStackTrace();
}
}
}
package.com公司;
导入java.util.ArrayList;
导入java.util.Scanner;
导入java.io.File;//导入文件类
导入java.io.IOException;//导入IOException类以处理错误
导入java.io.FileWriter;//导入FileWriter类
公共级Bon2Scanner{
公共静态空隙扫描仪(){
扫描仪=新的扫描仪(System.in);
System.out.println(“写入字符串名称:”);
ArrayList Name=新的ArrayList();
Name.add(scanner.next());
System.out.println(“Write age int:”);
ArrayList年龄=新建ArrayList();
Age.add(scanner.nextInt());
System.out.println(“名称为“+”+名称的数组列表);
System.out.println(“带有年龄“+”+年龄的数组列表);
}
//制作文件的方法
公共空间bonMetodScanner(){
试一试{
文件bon2=新文件(“Bon2Scanner.txt”);
if(bon2.createNewFile()){
System.out.println(“创建的文件:+bon2.getName());
}否则{
//System.out.println(“文件已经存在”);
返回;
}
}捕获(IOE异常){
System.out.println(“发生错误”);
e、 printStackTrace();
}
}
//写入文件的方法
public void bonMetodWriteScanner(){
试一试{
FileWriter Bon1Write=新的FileWriter(“Bon2Scanner.txt”);
//Bon1Write.write(getYearCar()+System.lineSeparator());
//
Bon1Write.write(“一些文本2”+System.lineSeparator());
Bon1Write.write(?这里我需要添加我的ArrayList?+System.lineSeparator())?????
Bon1Write.close();
System.out.println(“成功写入文件”);
}捕获(IOE异常){
System.out.println(“发生错误”);
e、 printStackTrace();
}
}
}
读入数据并将其添加到ArrayList中,这是一个良好的开端
我建议将I/O保留到所有工作正常为止,改用System.out
看起来您希望在另一个方法(bonMetodWriteScanner())中使用在方法Scaner()中创建的ArrayList中输入的数据
我建议通过在类顶部的方法之外声明ArrayList的年龄和名称,使这些ArrayList成为全局变量(这意味着程序的所有方法都可以使用它们):
public class Bon2Scanner{
public static ArrayList<String> name = new ArrayList<>();
public static ArrayList<Integer> age = new ArrayList<>();
现在,当您写入文件时,可以使用ArrayList
一些注意事项:
在整个程序中分散静态变量被认为是非常糟糕的做法,但是为了学习java语法和变量范围,我认为这样做很好
命名变量的标准做法通常是以小写字符开头,这就是为什么我将ArrayList变量名更改为全小写。建议:在一切正常之前,请忘记I/O。只需将要写入文件的内容写入System.out即可。一旦一切正常,就可以很容易地将要发送到控制台的内容发送到文件中
public static void Scaner(){
Scanner scanner = new Scanner(System.in);
System.out.println("Write String name:");
name.add(scanner.next());