forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   С# (http://forum.boolean.name/forumdisplay.php?f=128)
-   -   Как сохранять данные в бинарном виде в Net и Mono (http://forum.boolean.name/showthread.php?t=14476)

Evgen 26.03.2011 21:48

Ответ: Фак по Юнити.
 
Можно ли записать byte,short,int в Unity3d в бинарном виде?

PHP код:

using UnityEngine;
using System.Collections;
using System.IO;

public class 
SaveMap MonoBehaviour {

    
// Use this for initialization
    
void Start () {
        
StreamWriter sw = new StreamWriter(Application.dataPath "/info.txt");
        for(
int i=0;i<200;i++){
            
sw.Write((int)i);
        }    
        
//fileContents = sr.ReadToEnd();
        
sw.Close();
    }



Сохраняет в виде символьного текста:
01234567891011121314151617181920212223242526272829 30....

а нужно в виде 4 байтных последовательностей.

pax 26.03.2011 22:07

Ответ: Фак по Юнити.
 
Вам сюда: System.IO.BinaryWriter

Evgen 26.03.2011 22:34

Ответ: Как сохранять данные в бинарном виде в Net и Mono
 
Тогда как-то так. Запись float например.

PHP код:

using UnityEngine;
using System.Collections;
using System.IO;

public class 
SaveMap MonoBehaviour {

    
// Use this for initialization
    
void Start () {
        
FileStream fs = new FileStream(Application.dataPath "/info.txt"FileMode.Create);
        
BinaryWriter w = new BinaryWriter(fs);
        for(
int i=0;i<200;i++){
            
w.Write((float)i);
        }    
        
w.Close();
    }




pax 26.03.2011 22:50

Ответ: Как сохранять данные в бинарном виде в Net и Mono
 
Что это за сообщение без комментариев? Еще такие будут, буду удалять.

Evgen 26.03.2011 23:43

Ответ: Как сохранять данные в бинарном виде в Net и Mono
 
Андрей, коммент добавлен, раз такие правила :)

moka 27.03.2011 14:14

Ответ: Как сохранять данные в бинарном виде в Net и Mono
 
Цитата:

Сообщение от Evgen (Сообщение 183853)
Андрей, коммент добавлен, раз такие правила :)

Да не в правилах дело. Просто может ты и знаешь цель своего поста, другие то нет, вот и хочется, чтобы ты прокомментировал свой пост, давая ему значение. А то это был вопрос, или конечный пост - непонятно..

Небольшой совет в использовании Stream'ов, использовать using, с которым даже при ошибки которую можно будет словить (try, catch), то поток закроется, и не будет утечки памяти плюс закрытие потоков будет автоматическим:

Код:

using UnityEngine;
using System.Collections;
using System.IO;

public class SaveMap : MonoBehaviour {
  // Use this for initialization
  void Start () {
    using (FileStream fs = new FileStream(Application.dataPath + "/info.txt", FileMode.Create)) {
      using (BinaryWriter w = new BinaryWriter(fs)) {
        for(int i=0;i<200;i++){
          w.Write((float)i);
        }
      }
    }
  }
}



Часовой пояс GMT +4, время: 05:09.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot