簡體   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