Как скопировать каждый столбец в отдельный файл - PullRequest
0 голосов
/ 07 марта 2020

У меня есть текстовый файл, который содержит 24 столбца, разделенных \ t. Первый столбец содержит слова, а остальные 23 столбца содержат int (0 или 1). Мне нужно поместить каждый столбец в отдельный файл

Например:

file.txt

xyz 0   1
abc 0   1

в результате получаются следующие файлы:

файл 1:

0
0

файл 2:

1
1

Код выглядит следующим образом:

for (int i=24; i>0; i--){
            //copy the last word (column) in list
            for (String str: list) {
                String ch = str.substring(str.length() - 1);
                col_list.add(ch);
            }

            //write the column in file
            FileWriter write = new FileWriter(+i+".txt"); 
            for(String str1: col_list) {
                write.write(str1+"\n");
            }
            write.close();
            col_list = new ArrayList<String>();

            //remove last column from list
            for(String str2: list) {
                str2.substring(str2.length()-3, str2.length()-1);

            }
        }

Файлы результатов содержат только содержимое последнего столбца

файл 1:

1
1

файл 2:

1
1

1 Ответ

1 голос
/ 07 марта 2020

Как насчет этого? Измените num_files на 24, и вам должно быть хорошо go.

import java.util.ArrayList;
import java.util.Scanner;
import java.io.FileWriter;
import java.io.File;
class Test {
    public static void main(String a[]) {
        File myFile = new File("Test.txt");
        try {
            int num_files = 3;
            Scanner scanner = new Scanner(myFile);
            String list[];
            while (scanner.hasNextLine()) {
                list = scanner.nextLine().split("\t");
                for (int i = 0; i < num_files; i++) {
                    FileWriter write = new FileWriter((i + 1) + ".txt", true); //you want to open it in append mode
                    write.write(list[i] + "\n");
                    write.close();
                }
            }
        } catch (Exception e) {

        }
    }
}

Входные и выходные файлы

Input File

Output Files

Дайте мне знать, если это решит вашу проблему. Ура!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...