public void readTxtDiensttypen(String path) {

			DBConnection dbc=DBConnection.getInstance();
			// testumlauf.txt Data has to be in the project file in your
			// workspace
			File file = new File(path);
		
			
			try {
		
				BufferedReader diensttypen = new BufferedReader(new FileReader(file));
				filename = file.getName();
				
				
				String test=dbc.getVehicleScheduleName(getFilename());
				dbc.checkFahrplan(test);
				if(dbc.isFahrplanVorhanden()){
				String zeile = null;
				ArrayList<String> zeilenelemente = new ArrayList<String>();
				while ((zeile = diensttypen.readLine()) != null) {
					// All lines with relevant data will be read
					if (!zeile.startsWith("*") && !zeile.startsWith("$")) {
						Collections.addAll(zeilenelemente, zeile.split(";"));

						if (zeilenelemente.size() == 35) {

							int pieceCountMinZiffer = Integer
									.parseInt(zeilenelemente.get(25));
							int pieceCountMaxZiffer = Integer
									.parseInt(zeilenelemente.get(26));
							int isWorkRateConsideredZiffer = Integer
									.parseInt(zeilenelemente.get(29));
							int isBreakRateConsideredZiffer = Integer
									.parseInt(zeilenelemente.get(30));
							int isVehicleChangeAllowedDuringBreakZiffer = Integer
									.parseInt(zeilenelemente.get(32));

							float dutyFixCostZiffer = Float
									.parseFloat(zeilenelemente.get(28));
							float dutyCostPerMinuteZiffer = Float
									.parseFloat(zeilenelemente.get(31));

							name.add(zeilenelemente.get(0));
							startTimeMin.add(zeilenelemente.get(1));
							startTimeMax.add(zeilenelemente.get(2));
							endTimeMin.add(zeilenelemente.get(3));
							endTimeMax.add(zeilenelemente.get(4));
							signOnTime.add(zeilenelemente.get(5));
							signOffTime.add(zeilenelemente.get(6));
							durationMin.add(zeilenelemente.get(7));
							durationMax.add(zeilenelemente.get(8));
							workingTimeTotalMin.add(zeilenelemente.get(9));
							workingTimeTotalMax.add(zeilenelemente.get(10));
							workingTimeBeforeBreakMin.add(zeilenelemente.get(11));
							workingTimeWithoutBreakMin.add(zeilenelemente.get(12));
							workingTimeAfterLastBreakMin
									.add(zeilenelemente.get(13));
							drivingTimeTotalMin.add(zeilenelemente.get(14));
							drivingTimeTotalMax.add(zeilenelemente.get(15));
							drivingTimeWithoutBreakMin.add(zeilenelemente.get(16));
							drivingTimeWithoutBreakMax.add(zeilenelemente.get(17));
							drivingTimeWithoutBreakMinInterruptionTime
									.add(zeilenelemente.get(18));
							drivingTimeBeforeFirstBreakMin.add(zeilenelemente
									.get(19));
							breakType.add(zeilenelemente.get(20));
							breakTimeTotalMin.add(zeilenelemente.get(21));
							breakTimeTotalMax.add(zeilenelemente.get(22));
							breakTimeMin.add(zeilenelemente.get(23));
							breakTimeMax.add(zeilenelemente.get(24));
							pieceCountMin.add(pieceCountMinZiffer);
							pieceCountMax.add(pieceCountMaxZiffer);
							allowedCumulatedWorkingTimeMax.add(zeilenelemente
									.get(27));
							dutyFixCost.add(dutyFixCostZiffer);
							isWorkRateConsidered.add(isWorkRateConsideredZiffer);
							isBreakRateConsidered.add(isBreakRateConsideredZiffer);
							dutyCostPerMinute.add(dutyCostPerMinuteZiffer);
							isVehicleChangeAllowedDuringBreak
									.add(isVehicleChangeAllowedDuringBreakZiffer);
							breakTimeAllowsStarts.add(zeilenelemente.get(33));
							breakTimeAllowsEnds.add(zeilenelemente.get(34));
							workingtimeWithoutBreakMax.add("nicht angegeben");
							zeilenelemente.clear();
						}
						if (zeilenelemente.size() == 36) {

							int pieceCountMinZiffer = Integer
									.parseInt(zeilenelemente.get(25));
							int pieceCountMaxZiffer = Integer
									.parseInt(zeilenelemente.get(26));
							int isWorkRateConsideredZiffer = Integer
									.parseInt(zeilenelemente.get(29));
							int isBreakRateConsideredZiffer = Integer
									.parseInt(zeilenelemente.get(30));
							int isVehicleChangeAllowedDuringBreakZiffer = Integer
									.parseInt(zeilenelemente.get(32));

							float dutyFixCostZiffer = Float
									.parseFloat(zeilenelemente.get(28));
							float dutyCostPerMinuteZiffer = Float
									.parseFloat(zeilenelemente.get(31));

							name.add(zeilenelemente.get(0));
							startTimeMin.add(zeilenelemente.get(1));
							startTimeMax.add(zeilenelemente.get(2));
							endTimeMin.add(zeilenelemente.get(3));
							endTimeMax.add(zeilenelemente.get(4));
							signOnTime.add(zeilenelemente.get(5));
							signOffTime.add(zeilenelemente.get(6));
							durationMin.add(zeilenelemente.get(7));
							durationMax.add(zeilenelemente.get(8));
							workingTimeTotalMin.add(zeilenelemente.get(9));
							workingTimeTotalMax.add(zeilenelemente.get(10));
							workingTimeBeforeBreakMin.add(zeilenelemente.get(11));
							workingTimeWithoutBreakMin.add(zeilenelemente.get(12));
							workingTimeAfterLastBreakMin
									.add(zeilenelemente.get(13));
							drivingTimeTotalMin.add(zeilenelemente.get(14));
							drivingTimeTotalMax.add(zeilenelemente.get(15));
							drivingTimeWithoutBreakMin.add(zeilenelemente.get(16));
							drivingTimeWithoutBreakMax.add(zeilenelemente.get(17));
							drivingTimeWithoutBreakMinInterruptionTime
									.add(zeilenelemente.get(18));
							drivingTimeBeforeFirstBreakMin.add(zeilenelemente
									.get(19));
							breakType.add(zeilenelemente.get(20));
							breakTimeTotalMin.add(zeilenelemente.get(21));
							breakTimeTotalMax.add(zeilenelemente.get(22));
							breakTimeMin.add(zeilenelemente.get(23));
							breakTimeMax.add(zeilenelemente.get(24));
							pieceCountMin.add(pieceCountMinZiffer);
							pieceCountMax.add(pieceCountMaxZiffer);
							allowedCumulatedWorkingTimeMax.add(zeilenelemente
									.get(27));
							dutyFixCost.add(dutyFixCostZiffer);
							isWorkRateConsidered.add(isWorkRateConsideredZiffer);
							isBreakRateConsidered.add(isBreakRateConsideredZiffer);
							dutyCostPerMinute.add(dutyCostPerMinuteZiffer);
							isVehicleChangeAllowedDuringBreak
									.add(isVehicleChangeAllowedDuringBreakZiffer);
							breakTimeAllowsStarts.add(zeilenelemente.get(33));
							breakTimeAllowsEnds.add(zeilenelemente.get(34));
							workingtimeWithoutBreakMax.add(zeilenelemente.get(35));
							zeilenelemente.clear();
						}
					}
				}
				diensttypen.close();
				dbc.fillDiensttypenIntoTables(getFilename());
				diensttypenImportiert=true;
				}
				else {
				}
			} catch (IOException e) {
				e.printStackTrace();
			}
			clearDiensttypenArrayLists();

		}