Для части ввода / вывода вы можете использовать new PrintWriter(new File(filename))
.Просто вызовите методы println
, как если бы вы System.out
, и не забудьте потом close()
.Убедитесь, что вы обрабатываете любой IOException
изящно.
Если у вас есть определенный формат, вам придется объяснить его, но в противном случае простой цикл for-each
в Hashtable.entrySet()
это все, что вам нужно для перебора записей Hashtable
.
Кстати, если вам не нужна функция synchronized
, HashMap<String,String>
, вероятно, будетлучше Hashtable
.
Смежные вопросы
Вот простой пример объединения вещей, но без ясной обработки IOException
для ясности,и используя простой формат:
import java.io.*;
import java.util.*;
public class HashMapText {
public static void main(String[] args) throws IOException {
//PrintWriter out = new PrintWriter(System.out);
PrintWriter out = new PrintWriter(new File("map.txt"));
Map<String,String> map = new HashMap<String,String>();
map.put("1111", "One");
map.put("2222", "Two");
map.put(null, null);
for (Map.Entry<String,String> entry : map.entrySet()) {
out.println(entry.getKey() + "\t=>\t" + entry.getValue());
}
out.close();
}
}
Запуск этого на моем компьютере генерирует map.txt
, содержащий три строки:
null => null
2222 => Two
1111 => One
В качестве бонуса вы можете использовать первое объявление и инициализациюout
и выведите его на стандартный вывод вместо текстового файла.
См. также