Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / русские символы в файле данных / 1 сообщений из 1, страница 1 из 1
16.09.2013, 14:18:24
    #38397713
rema174
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
русские символы в файле данных
Текстовый файл выступает в роли базы данных.
Код: html
1.
b,b,b,b,b,b,acquaintance|Алина,А,а,а,а,-,acquaintance


после | идут русские символы, ввод осуществляется через веб форму и записывается в базу текстовый файл, причем записываются они в таком вот виде... Когда этот файл «подхватывается» приложением, то отображается правильно на экране. Ниже код работы с этим файлом. Как можно сохранять русские символы в удобочитаемом виде?
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
public class UserDatabase {
 
	protected static UserDatabase singleton;
	protected File usersFile;
	protected Map<String, ContactsUser> users = new HashMap<String, ContactsUser>();
	protected EncoderDecoder encoderDecoder = new EncoderDecoder();
	protected String databaseFilePathname;
	
	public static UserDatabase getSingleton() {
		if (singleton == null)
			singleton = new UserDatabase();
		return singleton;
	}
	
	public void setDatabaseFilePathname(String pathRoot) {
		databaseFilePathname = pathRoot + File.separator + "userDatabase.txt";
	}
 
	public ContactsUser get(String name, String password) {
		String userKey = name + "!" + password;
		ContactsUser user = (ContactsUser) users.get(userKey);
		return user;
	}
	
	public void put(ContactsUser user) {
		String userKey = user.getUsername() + "!" + user.getPassword();
		users.put(userKey, user);
	}
 
	public void initialize() {
		usersFile = new File(databaseFilePathname);
		
		String allUsers = retrieveText();
		StringTokenizer tokenizer = new StringTokenizer(allUsers, "\n");
		while (tokenizer.hasMoreTokens()) {
			String userEntry = tokenizer.nextToken();
			UserRecord record = new UserRecord(userEntry);
			put(new ContactsUser(record.getName(), record.getPassword(), record.getContactList()));
		}
	}
	
	public void shutDown() {
		writeUsers();
	}
	
	protected void writeUsers() {
		StringBuffer buffer = new StringBuffer();
		Collection<ContactsUser> allUsers = users.values();
		Iterator<ContactsUser> iterator = allUsers.iterator();
		while (iterator.hasNext()) {
			ContactsUser each = (ContactsUser) iterator.next();
			UserRecord record = new UserRecord(each);
			buffer.append(record.getFullRecord());
		}
		writeText(buffer.toString());
	}
	
	protected synchronized String retrieveText() {
		BufferedReader bufferedReader = null;
 
		try {
			bufferedReader = new BufferedReader(new FileReader(usersFile.getAbsolutePath()));
			char charBuff[] = new char[(int) new File(usersFile.getAbsolutePath()).length()];
 
			bufferedReader.read(charBuff);
			return new String(charBuff);
		} catch (Exception e) {
			throw new RuntimeException("Unable to read in the file.", e);
		} finally {
			closeReader(bufferedReader);
		}
	}
 
	protected void closeReader(BufferedReader bufferedReader) {
		try {
			if (bufferedReader != null)
				bufferedReader.close();
		} catch (Exception ex) {}
	}
	
	protected synchronized void writeText(String text) {
		Writer writer = null;
		
		try {
			writer = new FileWriter(usersFile.getAbsolutePath());
			writer.write(text);
		} catch (Exception e) {
			throw new RuntimeException("Unable to append to file.", e);
		} finally {
			closeWriter(writer);
		}
	}
 
	protected void closeWriter(Writer writer) {
		if (writer != null) {
			try {
				writer.flush();
				writer.close();
			} catch (Exception ex) {}
		}
	}
 
}
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / русские символы в файле данных / 1 сообщений из 1, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]