Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何直接调用Java Arraylist以打印到txt文件?_Java_File_Arraylist - Fatal编程技术网

如何直接调用Java 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

这是我的代码,这不是一个特定的程序。我只是练习使用java Arraylist和生成txt文件,并在该文件中存储Arraylist变量。我尝试创建一个类,在这个类中,我为scanner创建了一个输入,然后将其存储到arraylist。第二种方法是制作txt文件。第三种方法是向这个txt文件中添加东西。所有方法都有效,但我不知道如何将Arraylist数据导入txt文件。我是一个乞丐,对某些人来说,我很愚蠢,我很抱歉

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());