Хранение нечувствительного к регистру varchar в PostgreSQL

Вы можете использовать java.nio.file.Files , который доступен из Java 7, для записи содержимого в файл во время выполнения. Файл будет создан, если вы укажете правильный путь, а также сможете установить предпочтительную кодировку.

JAVA 7+

Отредактировано после предложения @Ivan

Вы можете использовать PrintWriter , BufferedWriter , FileUtils и т. Д. Есть много способов. Я делюсь примером с файлами

String encodedString = "some higly secret text";
Path filePath = Paths.get("file.txt");
try {
    Files.write(filePath, encodedString, Charset.forName("UTF-8"));
} catch (IOException e) {
    e.printStackTrace();
    System.out.println("unable to write to file, reason"+e.getMessage());
}

Чтобы написать несколько строк

blockquote>
List linesToWrite = new ArrayList<>();
linesToWrite.add("encodedString 1");
linesToWrite.add("encodedString 2");
linesToWrite.add("encodedString 3");
Path filePath = Paths.get("file.txt");
try {
    Files.write(filePath, linesToWrite, Charset.forName("UTF-8"));
} catch (IOException e) {
    e.printStackTrace();
    System.out.println("unable to write to file, reason"+e.getMessage());
}

Есть миллион других способов, но я думаю, что было бы хорошо начать с его простоты.

До Java 7

PrintWriter writer = null;
String encodedString = "some higly secret 
try {
    writer = new PrintWriter("file.txt", "UTF-8");
    writer.println(encodedString);
    // to write multiple: writer.println("new line")
} catch (FileNotFoundException | UnsupportedEncodingException e) {
    e.printStackTrace();
}  finally {
    writer.close();
}

9
задан informatik01 26 February 2014 в 08:06
поделиться

3 ответа

Если таблицы еще не заполнены, вы можете просто подумать о преобразовании в стандартный верхний или нижний регистр, прежде чем выполнять какие-либо вставки и делать поле первичным ключом (или просто иметь уникальное ограничение). Если пользователь хочет видеть свой ИД пользователя в указанном им случае, это может быть другой столбец в базе данных.

Обновление : На основании обновленных тегов я все же предложил бы предложенное мной решение как менее зависимое от конкретные СУБД.

3
ответ дан 4 December 2019 в 07:48
поделиться

Do note that PostgreSQL 8.4 (currently beta) will have a case-insensitive text type.

3
ответ дан 4 December 2019 в 07:48
поделиться

Из документов

CREATE UNIQUE INDEX lower_title_idx ON films ((lower(title)));
22
ответ дан 4 December 2019 в 07:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: