Тип Java chartobyteconverter устарел

Я работаю над проектом выравнивания белков ДНК "readseq" , Его "flybase" пакет содержит код Java, имеющий & quot; charToByteConverter & Quot; класс, который не компилируется и дает & quot; Тип устарел & quot; сообщение. (Http://iubio.bio.indiana.edu/soft/molbio/readseq/java/). Здесь источник readseq можно найтиМне нужно добавить некоторые дополнительные функции в это приложение, не знаю, как это исправить, чтобы достичь своей цели. Я своего рода новый би в Яве. Пожалуйста, помогите, если это возможно. Readseq с его графическим интерфейсом легко доступен в сети. Он просто конвертирует массив заданных символов в байты. Вот некоторая информация об этом: (docjar.com/docs/api/sun/io/CharToByteConverter.html). Я не знаю, что делать с этим устаревшим. Это абстрактный класс, используемый так:

<code>protected byte[] getBytes(CharToByteConverter ctb) {
        ctb.reset();
        int estLength = ctb.getMaxBytesPerChar() * count;
        byte[] result = new byte[estLength];
        int length;

        try {
            length = ctb.convert(value, offset, offset + count,
                     result, 0, estLength);
            length += ctb.flush(result, ctb.nextByteIndex(), estLength);
        } catch (CharConversionException e) {
            length = ctb.nextByteIndex();
        }

        if (length < estLength) {
            // A short format was used:  Trim the byte array.
            byte[] trimResult = new byte[length];
            System.arraycopy(result, 0, trimResult, 0, length);
            return trimResult;
        }
        else {
            return result;
        }
}
</code>
 Thomas Mueller04 мая 2012 г., 09:12
Что означает «charToByteConverter»? делать точно? Я предполагаю, что это не просто преобразование из символа Java в байт Java ...
 Martin04 мая 2012 г., 09:56
Он просто конвертирует массив заданных символов в байты. Вот немного информации об этом: (docjar.com/docs/api/sun/io/CharToByteConverter.html) Я не знаю, что делать с этим устаревшим.

Ответы на вопрос(2)

Адаптировать параметр, из книги Майкла ПерсаЭффективная работа с устаревшим кодом.

Бесстыдная штепсельная вилка: воткороткие прези я сделал на нем, В нем есть пошаговое описание того, что вам нужно сделать.

По сути, вам придется изменить свой код и применитьШаблон адаптера к параметру. Вы хотите определить свой собственный интерфейс (давайте назовем егоByteSource), делатьgetBytes() возьми свой интерфейс вместо (getBytes(ByteSource ctb)), затем сделайте адаптер, который внутренне имеетCharToByteConverter для тестирования. Чтобы починить сломанную библиотеку, вы должны сделать такую, которая имеетjava.nio.charset вместо.

Deprecated! Replaced - by java.nio.charset

Ищите класс / метод замены в пакете java.nio.charset.

Обратите внимание, что использование классов в JDK, которые не являются частью официально документированного API, является плохой идеей.

 Martin04 мая 2012 г., 10:45
Поиск этой замены занял у меня пять дней. слишком плохо для несовершеннолетнего. не мог найти ни одного. но я должен использовать это, не по моей воле, это был выбор для автора readseq api.
 04 мая 2012 г., 10:29
Если ОП не знает Java, никакой ответ не поможет ему, кроме полного кода, который заменит текущий. Мой совет будет: учить Java. Программирование на Java без знания Java - верный путь к катастрофе.
 04 мая 2012 г., 10:25
Похоже, что этот человек, который самоотчетно не знает Java, получил задание расширить устаревшую библиотеку. Хотя этот совет является «минимально правильным», он на самом деле не дает много рекомендаций относительно того, как выполнить задачу.
 04 мая 2012 г., 10:34
Концептуально я склонен согласиться с вами. Хотя можно утверждать, что, если проблема решается очень конкретно, используя подход, основанный на TDD, который ограничивает задачу, в частности, 1) создание интерфейса, 2) создание класса, 3) импорт вашего класса и использование другого объекта, это другая и более простая задача обучения, чем "изучай Java и пакет NIO". Попробуйте еще раз через 2 месяца. & Quot; Современные методы программирования могут дать нам способы привести наши языки программирования в соответствие с тем, как наши умы хотят, чтобы они работали, вместо того, чтобы бить наши умы вокруг языка программирования.

Ваш ответ на вопрос