Палец вверх 0
Перевод
Перевод

Java - сделать первые цифры TXT-файла в качестве имени файла, а оставшуюся часть файла в виде текста в том же файле

Я пытаюсь создать читатель Java TXT, который будет читать первые 10 цифр и сделать имя ia как; вход:

S00000050 - Some text 1.

S00000060 - Some other text 2. with other text the goes with it

Выход:

S00000050.c с /* some text 1*/ в качестве комментария.

S00000060.c с /* some other text 2 with other text the goes with it * / `в качестве комментария.

Проблема в том, что я не могу ограничить свой метод синтаксического анализа, чтобы перейти от первого S00 ... ко второму S00 ... как также создание имени файла на основе прочитанного текста.

java windows parsing file
задан Lucas Zampieri 29 мар. 2018 г., 17:14:52
источник

1 ответ

Палец вверх 0
Перевод
Перевод

Если в Java есть функция расширения, это будет проще. Тем не мение

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Arrays;

class MyFile extends File{
    String fileNameAndComment;
    public MyFile(String fileNameAndComment){
        super(fileNameAndComment.split("-")[0]);
        this.fileNameAndComment = fileNameAndComment;
    }
    public void writeComment(){
        FileWriter fw = null;
        try {
            fw = new FileWriter(this);
            fw.write("/*"+fileNameAndComment.split("-")[1]+"*/");
            fw.close();// finally block? I don't want to code to be longer than this is. So just close here
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}
public class Test1 {

    public static void main(String[] args) {
        Arrays.asList("S00000060 - Some other text 2","S00000050 - Some text 1").stream().map(x->new MyFile(x))
                .forEach(x->{
                    x.writeComment(); //not sure I should do this or inside the constructor
                });
            }


}
ответ дан zawhtut 29 мар. 2018 г., 19:11:25
источник