powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / локаничный способ создания строки заданного размера в байтах
16 сообщений из 16, страница 1 из 1
локаничный способ создания строки заданного размера в байтах
    #37675816
OOsalivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите лаконичный способ создания тестового объекта String заданной величины в байтах.
Самый топорный который приходит в голову это

Код: java
1.
2.
3.
4.
        StringBuilder builder = new StringBuilder();
        for (int i=0;i< 1024 ;i++) {
            builder.append("1");
        }



Спасибо
...
Рейтинг: 0 / 0
локаничный способ создания строки заданного размера в байтах
    #37675848
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если б еще знать зачем так извращаться. П.С в одном символе строки как минимум 2 байта
...
Рейтинг: 0 / 0
локаничный способ создания строки заданного размера в байтах
    #37676194
jclass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
OOsalivan,

Не понятно, что хотите в итоге. Если ограничить создание строки более n байт, то можно так например:

Код: java
1.
2.
3.
4.
5.
        byte[] b = "ssss".getBytes();
        if(b.length < 1024){
            String s = new String(b);
            System.out.println(s);
        }
...
Рейтинг: 0 / 0
локаничный способ создания строки заданного размера в байтах
    #37676303
Alexey Kuznetsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OOsalivan,

Сделать одну длииииную строку
и от нее отрезать тестовые экзкмпляры?
Джава на самом деле не будет новых строк создавать, а делать ссылки на исходную.
...
Рейтинг: 0 / 0
локаничный способ создания строки заданного размера в байтах
    #37676311
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл никЕсли б еще знать зачем так извращаться. П.С в одном символе строки как минимум 2 байта

нет
...
Рейтинг: 0 / 0
локаничный способ создания строки заданного размера в байтах
    #37676318
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OOsalivanПодскажите лаконичный способ создания тестового объекта String заданной величины в байтах.
Самый топорный который приходит в голову это

Код: java
1.
2.
3.
4.
        StringBuilder builder = new StringBuilder();
        for (int i=0;i< 1024 ;i++) {
            builder.append("1");
        }



Спасибо

у вас проблема, зависит от аргумента вашего компилятора, сколько ваша строка весит.

Если -XX:+UseCompressedStrings , то ваши ANSII строки буду весить
48(размер пустой строки) + длина строки(1 символ - 1 байт). Естественно, 48 - это константа и при вставке строки куда нибудь не учитывается.

Если без -XX:+UseCompressedStrings , то ваши ANSII строки буду весить
48(размер пустой строки) + длина строки(1 символ - 1 байт)*2.
...
Рейтинг: 0 / 0
локаничный способ создания строки заданного размера в байтах
    #37676321
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OOsalivan,

byte[] theByteArray = stringToConvert.getBytes();
для собственной проверки)
...
Рейтинг: 0 / 0
локаничный способ создания строки заданного размера в байтах
    #37676490
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey KuznetsovДжава на самом деле не будет новых строк создавать, а делать ссылки на исходную.
Вроде так будет новая память выделяться (subString - наугад имя функции написал):
Код: java
1.
 String s = new String(source.subString(1,3))
...
Рейтинг: 0 / 0
локаничный способ создания строки заданного размера в байтах
    #37676491
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LeonidvAlexey KuznetsovДжава на самом деле не будет новых строк создавать, а делать ссылки на исходную.
Вроде так будет новая память выделяться (subString - наугад имя функции написал):
Код: java
1.
 String s = new String(source.subString(1,3))



+
...
Рейтинг: 0 / 0
локаничный способ создания строки заданного размера в байтах
    #37676492
OOsalivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл никЕсли б еще знать зачем так извращаться. П.С в одном символе строки как минимум 2 байта

Задача стоит создать javax.mail.internet.MimeMessage заданного размера (для тестов), причем размер можно задавать произвольно, а контент не интересует
...
Рейтинг: 0 / 0
локаничный способ создания строки заданного размера в байтах
    #37676541
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OOsalivan,

Усечение:
Код: java
1.
String s = new String(Arrays.copyOf("Hello, World !!!".getBytes(), 5)); // s = "Hello";
...
Рейтинг: 0 / 0
локаничный способ создания строки заданного размера в байтах
    #37676900
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну я посмотрел javax.mail.internet.MimeMessage, там вроде есть поле byte[] content, я бы на вашем месте создавал массив байтов нужного размера и через рефлекшен сеттил бы его в content
...
Рейтинг: 0 / 0
локаничный способ создания строки заданного размера в байтах
    #37676954
Большой Синий Кит
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл никНу я посмотрел javax.mail.internet.MimeMessage, там вроде есть поле byte[] content, я бы на вашем месте создавал массив байтов нужного размера и через рефлекшен сеттил бы его в content
ИМХО это нехорошо изначально.
И еще про оффсет, коунт надо помнить ко всему прочему.
...
Рейтинг: 0 / 0
локаничный способ создания строки заданного размера в байтах
    #37676958
Большой Синий Кит
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
P.S. Прошу прощения об оффсете и каунте - чего-то подумал, что речь идет о String.
...
Рейтинг: 0 / 0
локаничный способ создания строки заданного размера в байтах
    #37677032
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторИМХО это нехорошо изначально.

Это нехорошо для продакшена, а для теста вполне ничего, какая задача такое и решение
...
Рейтинг: 0 / 0
локаничный способ создания строки заданного размера в байтах
    #37677037
Большой Синий Кит
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник,

Согласен. :)
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / локаничный способ создания строки заданного размера в байтах
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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