Java tutorial
//package com.java2s; /** * Copyright (c) 2013, 2014 Denis Nikiforov. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Denis Nikiforov - initial API and implementation */ import java.util.ArrayList; import java.util.List; import java.util.Map; public class Main { public static String convertToString(Map<String, Object> properties) { List<String> parts = new ArrayList<String>(); for (String key : properties.keySet()) { Object value = properties.get(key); if (value instanceof String) { parts.add(encode('=', new String[] { key, (String) value })); } else { throw new RuntimeException("Can't encode " + value); } } return encode(';', parts); } public static String encode(char delimiter, String[] parts) { List<String> partList = new ArrayList<String>(); for (String part : parts) { partList.add(part); } return encode(delimiter, partList); } public static String encode(char delimiter, Iterable<String> parts) { StringBuilder result = new StringBuilder(); for (String part : parts) { String encodedPart = part.replace("\\", "\\\\"); encodedPart = encodedPart.replace("" + delimiter, "\\" + delimiter); result.append(encodedPart); result.append(delimiter); } return result.toString(); } }