Импортируйте файл .txt, прочитайте его и назначьте каждый параметр .txt переменной в Java

1

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

Вот пример файла work.txt, где первый - это идентификатор работника, второй - это имя рабочих, а третий - уровень опыта

1 : Pedro Reis : 5
2 : Miguel Teles : 5
3 : Nuno Reis : 4
4 : Rafael Carrilho : 3
5 : Nuno Nunes : 3
6 : Osvaldo Pires : 2
7 : Tiago Santos : 2
8 : J. Almeida : 2
9 : Rui Almondegas : 2
10 : Anacleto : 1
11 : José Manuel : 3
12 : Rudolfo Bento : 3
13 : Victor Valente : 1
14 : Lúcia Portugal : 3
15 : Vanessa Santos : 1

И вот пример файла deliveries.txt, где первый - это идентификатор работника, второй - это область, где была сделана поставка, а третья - вес пакета

1 : A : 250
2 : B : 610
3 : C : 1250
2 : D : 350
3 : A : 250
4 : A : 500
1 : B : 200
5 : C : 300
5 : C : 250

Это школьный проект, и у меня возникают трудности с тем, чтобы программа Java читала два.txt файла и назначала каждому пространству.txt переменную.

Это код, который я создал

import java.io.BufferedInputStream;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

public class project {

  public static void main(String[] args) {

    File file = new File("workers.txt");
    FileInputStream fis = null;
    BufferedInputStream bis = null;
    DataInputStream dis = null;

    try {
      fis = new FileInputStream(file);

      bis = new BufferedInputStream(fis);
      dis = new DataInputStream(bis);

      while (dis.available() != 0) {

        System.out.println(dis.readLine());
      }

    } catch (FileNotFoundException e) {
      e.printStackTrace();
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
}

Теперь вопрос в том, как я могу присвоить идентификатор рабочего, имя рабочего и т.д. И т.д. Другой переменной?

Прошу прощения за длинный пост

благодаря

  • 0
    Разделите каждую строку, чтобы извлечь 3 части (например, используя String.split() ), затем String.split() экземпляр Worker (который должен иметь 3 поля) и добавьте его в List<Worker> .
  • 0
    Нравится? Строка строка = "1: Педро Рейс: 5"; String [] parts = string.split (":"); Строка part1 = parts [0]; // 1 строка part2 = parts [1]; // Строка Педро Рейса part3 = parts [2]; // 5
Показать ещё 1 комментарий
Теги:
import

1 ответ

0

Вы можете написать такой класс после разделения.

class Worker {

    public int id;
    public String name;

    public Worker( int id, String name ) {
        this.id = id;
        this.name = name;
    }
}

В основном классе:

Map<Integer, Worker> workers = new HashMap<>();
workers.put(*id*, new Worker(*id*, *name*));

Пример. Когда вы хотите получить имя работника, вы можете использовать следующее:

workers.get(*id*).name;

Ещё вопросы

Сообщество Overcoder
Наверх
Меню