繁体   English   中英

如何将每个值添加到单独的行?

[英]How to add each value to a separate line?

我的代码确实读写文件,但是它不在每个值的新行上,而是在一行中打印每个值。

// 2 points
static void Q1(String inputFilename, String outputFilename) {
    // You are given a csv file (inputFilename) with all the data on a single line. Separate the
    // values by commas and write each value on a separate line in a new file (outputFilename)

        String data = "";
        try {
            for(String s :Files.readAllLines(Paths.get(inputFilename))){
                data = data + s;
            }
            Files.write(Paths.get(outputFilename), data.getBytes());
        } catch (IOException e) {

            e.printStackTrace();
        }
}

因此,平地机说:

Incorrect on input: [data/oneLine0.csv, output0.txt]
Expected output : overwrought plastic bomb
wrapped litter basket
obstetric matter of law
diabetic stretching
spatial marathi
continental prescott
reproductive john henry o'hara
hollow beta blocker
stereotyped national aeronautics and space administration
irremediable st. olaf
brunet fibrosis
embarrassed dwarf elm
superficial harrier
disparaging whetstone
consecrate agony
impacted lampoon
nefarious textile
some other organisation
Your output     : overwrought plastic bomb,wrapped litter basket,obstetric matter of law,diabetic stretching,spatial marathi,continental prescott,reproductive john henry o'hara,hollow beta blocker,stereotyped national aeronautics and space administration,irremediable st. olaf,brunet fibrosis,embarrassed dwarf elm,superficial harrier,disparaging whetstone,consecrate agony,impacted lampoon,nefarious textile,some other organisation

首先,您需要从CSV文件中删除逗号。 我建议使用
s = s.replace(",",""); 此外,您必须在每个字符串后附加\\n ,以使其出现在新行中。 因此,您应该添加s += "\\n"; 这产生了代码:

// 2 points
static void Q1(String inputFilename, String outputFilename) {
// You are given a csv file (inputFilename) with all the data on a single line. Separate the
// values by commas and write each value on a separate line in a new file (outputFilename)

    String data = "";
    try {
        for(String s :Files.readAllLines(Paths.get(inputFilename))){
            s.replace(",","");
            s += "\n";
            data = data + s;
        }
        Files.write(Paths.get(outputFilename), data.getBytes());
    } catch (IOException e) {

        e.printStackTrace();
    }
}
String data = "";
try {
    // input file has all data on one line, for loop isn't necessary here
    // input file has elements separated by comma characters
    for(String s : Files.readAllLines(Paths.get(inputFilename))){
        data = data + s;
    }
    String[] separated = data.split(",");// does not handle embedded commas well
    data = "";
    // output file should have each comma separated value on its own line
    for (String t : separated) {
        data = data + t + System.getProperty("line.separator");
    }
    Files.write(Paths.get(outputFilename), data.getBytes());
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM