Запись в файл в BlackBerry - PullRequest
       2

Запись в файл в BlackBerry

0 голосов
/ 27 ноября 2010

Привет, ребята, я вставил свой код здесь. Dialog.inform содержит значение «long», которое является результатом игрока. Если я хочу записать его в файл, мне нужно преобразовать его в int байта. Я получаю ненужное значение, записанное в файл. Может кто-нибудь помочь мне с этим? Я хочу напечатать содержимое (прошедшего / 34)

Dialog.inform ("Поздравляю, вы набрали:" + (истек / 34));

           try 
            {

         FileConnection fc = (FileConnection)Connector.open("file:///SDCard/Rashmi.txt");
         // If no exception is thrown, then the URI is valid, but the file may or may not exist.
         if (!fc.exists())
         {
             fc.create();  // create the file if it doesn't exist
         }
         OutputStream outStream = fc.openOutputStream(); 
         int lp=safeLongToInt(elapsed/34);
         outStream.write("Rashmi".getBytes());
         outStream.write(lp);
         outStream.close();
         fc.close();

1 Ответ

1 голос
/ 27 ноября 2010

Хорошо, поскольку вы сохраняете счет в файл, предположительно, вы хотите, чтобы этот счет можно было просмотреть в виде строки.Когда вы просматриваете этот файл, я предполагаю, что вы видите слово «Rashmi», за которым следует один символ барахла.Причина, по которой переменная lp печатается неправильно, состоит в том, что строковое значение числа отличается от его числового значения.Например, двоичное значение 2 равно 10, тогда как значение ASCII для «2» равно 00110010 (или 50 в десятичном виде).Когда вы вызываете outStream.write (lp), это печатает числовое значение lp, а не его строковое значение.Короче говоря, вам нужно привести числовое значение к строке.Попробуйте что-то вроде этого:

String text = "Rashmi" + (elapsed/34);
outStream.write(text.getBytes());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...