【问题标题】:Reading .txt file and converting to .csv file读取 .txt 文件并转换为 .csv 文件
【发布时间】:2016-09-21 07:41:27
【问题描述】:

无法将 .txt 文件中的数据转换为 .csv 文件。一切都运行得很干净,但是当它转换为 .csv 文件时,它只显示 .txt 文件中的部分数据。 .txt 文件是 input.txt 这是我所拥有的:

import java.util.Scanner;
import java.io.*;
import com.csvreader.CsvWriter;

public class InputOutputExample
{

public static void main(String[] args) throws IOException 
{

Scanner keyboard = new Scanner(System.in);

    System.out.println("Enter the name and file type: ");
    String filename = keyboard.nextLine();

    File file = new File(filename);
    Scanner inputFile = new Scanner(file);

    while (inputFile.hasNext()) {
        String studentInfo = inputFile.nextLine();

        System.out.println(studentInfo);

        CsvWriter outputFile = new CsvWriter("C:\\Users\\John\\Desktop\\output.csv");
        outputFile.write(studentInfo);
        outputFile.close();

    }



    inputFile.close();

}

}

Java 程序中的输出:

Enter the name and file type: 
input.txt [Enter]

Student_Id, student_name, gender, grade

993541, Ricky, male, A
037832, Joanne, female, A
034442, Amanda, female, B
054335, Logan, male, B
042343, Paul, male, B

Process finished with exit code 0

当转换为 .csv 时,它只在单元格中显示 42343, Paul, male, B

【问题讨论】:

标签: java csv filewriter printwriter


【解决方案1】:

您应该删除在 while 循环之外创建的 csv 文件:

CsvWriter outputFile = new CsvWriter("C:\\Users\\John\\Desktop\\output.csv");

while (inputFile.hasNext()) {
    String studentInfo = inputFile.nextLine();
    System.out.println(studentInfo);
    outputFile.write(studentInfo);
    outputFile.newLine();
}

outputFile.close();

【讨论】:

    【解决方案2】:

    您应该从 while 循环中提取 CsvWriter outputFile = new CsvWriter("C:\\Users\\John\\Desktop\\output.csv");outputFile.close();。 代码应该是这样的:

    `CsvWriter outputFile = new CsvWriter("C:\Users\John\Desktop\output.csv"); 而(inputFile.hasNext()){ String studentInfo = inputFile.nextLine();

        System.out.println(studentInfo);
    
        outputFile.write(studentInfo);
    }
    

    outputFile.close();`

    试试上面的代码替换

    【讨论】:

      猜你喜欢
      • 2015-12-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-03
      • 2019-12-04
      相关资源
      最近更新 更多