Java使用Scanner编写CSV文件

Java使用Scanner编写CSV文件,java,csv,java.util.scanner,Java,Csv,Java.util.scanner,这是我的密码: 我想使用scanner创建一个csv文件 输入应类似于: 牛奶 三十 我希望输出结果如下: import java.util.Scanner; 导入java.io.BufferedReader; 导入java.io.FileReader; 导入java.io.FileWriter; 导入java.util.ArrayList; 导入java.util.LinkedList; 导入java.util.List; 导入java.util.Map; 导入java.util.TreeM

这是我的密码:

我想使用scanner创建一个csv文件

输入应类似于:

牛奶

三十

我希望输出结果如下:

import java.util.Scanner;
导入java.io.BufferedReader;
导入java.io.FileReader;
导入java.io.FileWriter;
导入java.util.ArrayList;
导入java.util.LinkedList;
导入java.util.List;
导入java.util.Map;
导入java.util.TreeMap;
公共类附加项{
私有静态字符串列表;
私有静态字符串val;
公共静态void main(字符串[]args)引发异常{
Map Map=newtreemap();
FileWriter add=新的FileWriter(“test.csv”);
System.out.println(“请输入号码:”);
扫描仪输入=新扫描仪(系统输入);
ArrayList输入=新的ArrayList();
input.add(in.nextLine());
input.add(in.nextLine());
for(字符串val:input){
添加、写入(val);
添加。写入(“\n”);
}
}
}
Map Map=newtreemap();
list=in.nextLine();
这两行表示你不知道自己在做什么。你可能想做这样的事情

ArrayList<String> input = new ArrayList<String>();
input.add(in.nextLine());
input.add(in.nextLine());

for (String val : input) {
     add.write(val);
     add.write("\n");
}
ArrayList input=new ArrayList();
input.add(in.nextLine());
input.add(in.nextLine());
for(字符串val:input){
添加、写入(val);
添加。写入(“\n”);
}

您的代码中有太多问题,我真的不知道从哪里开始。请找出一些关于Java的好书来获取基础知识

下面是一个代码示例,它可以做您想要的事情,并演示一些重要的事情:可关闭的接口、输入/输出流、文件编码

import java.io.BufferedWriter;
import java.io.FileOutputStream;

import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.util.Scanner;

public class AddCourse {

    public static void main(String... args) {

        System.out.println("please input two values: ");

        try (   Scanner in = new Scanner(System.in);
                FileOutputStream file = new FileOutputStream("test.csv");
                OutputStreamWriter out = new OutputStreamWriter(file, "UTF-8");
                BufferedWriter buf = new BufferedWriter(out);
                PrintWriter writer = new PrintWriter(buf)) {

            String first = in.nextLine();
            String second = in.nextLine();

            writer.print(first);
            writer.print("\t");
            writer.print(second);
            writer.println();

        } catch (Throwable t) {
            t.printStackTrace();
        }

        System.out.println("done.");
    }
}

“Java使用扫描仪写入CSV文件”
类扫描仪
的可能重复项用于获取输入,而不是写入文件…@OWO请尝试以下方法:
ArrayList<String> input = new ArrayList<String>();
input.add(in.nextLine());
input.add(in.nextLine());

for (String val : input) {
     add.write(val);
     add.write("\n");
}
import java.io.BufferedWriter;
import java.io.FileOutputStream;

import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.util.Scanner;

public class AddCourse {

    public static void main(String... args) {

        System.out.println("please input two values: ");

        try (   Scanner in = new Scanner(System.in);
                FileOutputStream file = new FileOutputStream("test.csv");
                OutputStreamWriter out = new OutputStreamWriter(file, "UTF-8");
                BufferedWriter buf = new BufferedWriter(out);
                PrintWriter writer = new PrintWriter(buf)) {

            String first = in.nextLine();
            String second = in.nextLine();

            writer.print(first);
            writer.print("\t");
            writer.print(second);
            writer.println();

        } catch (Throwable t) {
            t.printStackTrace();
        }

        System.out.println("done.");
    }
}