22
Мар
2017

Считать дробные числа из файла округлить и записать их в другой файл Java SE

Собственно в данном коде я перевожу строку в массив строк и из этой строки с помощью matcher вырываю числа но чувствую это ересь полнейшая я не туда смотрю... Как считать дробные числа из файла например в массив или список и потом записать их в другой файл.

public class Solution {
    public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        FileInputStream in = new FileInputStream("e://name.txt");
        FileOutputStream out = new FileOutputStream("e://name1.txt");
        List<String> list = Files.readAllLines(Paths.get("e://name.txt"), Charset.defaultCharset());
        Pattern pat = Pattern.compile("[-]?[0-9]+(.[0-9]+)?");
        Matcher matcher = pat.matcher(list.get(0));
        while (matcher.find()) {
            System.out.println(matcher.group());
            in.close();
            out.close();
        }

    }
}

Пробывал с помощью Scanner например:

 Scanner sc = new Scanner(in); 
//или
    Scanner sc2 = new Scanner(new File("e://name.txt"));
ArrayList<Double> list2 = new ArrayList<Double>();
while (sc.hasNextDouble()){
            list2.add(sc.nextDouble());
        }

Вывожу потом например даже list.size() выдает 0 типа ничего не добавилось. Формат txt, Округлять буду например Math.round(list.get(i). В файле лежат только дробные через пробел.

Подскажите как решить?

Источник: https://ru.stackoverflow.com/questions/642866/%D0%A1%D1%87%D0%B8%D1%82%D0%B0%D1%82%D1%8C-%D0%B4%D1%80%D0%BE%D0%B1%D0%BD%D1%8B%D0%B5-%D1%87%D0%B8%D1%81%D0%BB%D0%B0-%D0%B8%D0%B7-%D1%84%D0%B0%D0%B9%D0%BB%D0%B0-%D0%BE%D0%BA%D1%80%D1%83%D0%B3%D0%BB%D0%B8%D1%82%D1%8C-%D0%B8-%D0%B7%D0%B0%D0%BF%D0%B8%D1%81%D0%B0%D1%82%D1%8C-%D0%B8%D1%85-%D0%B2-%D0%B4%D1%80%D1%83%D0%B3%D0%BE%D0%B9-%D1%84%D0%B0%D0%B9%D0%BB-java-se

Тебе может это понравится...

Добавить комментарий