BinaryFormatter를 통한 MemoryStream 역 직렬화

제로 디바이더로

다음 문제에 대한 해결책을 찾지 못했습니다.
파일에 TreeView를 저장 /로드하는 작업 코드가 있지만 Properties.Settings.Default에 저장하고 싶습니다.

불행히도이 줄에 "no map for object"라는 오류가 발생합니다.

object obj = bf.Deserialize(ms);

다음은 (비) 직렬화에 대한 전체 코드입니다
.이 문제를 해결하는 방법을 모릅니다. :(

public static void SaveTreeView(TreeView tree)
{
    using (MemoryStream ms = new MemoryStream())
    {
        BinaryFormatter bf = new BinaryFormatter();
        bf.Serialize(ms, tree.Nodes.Cast<TreeNode>().ToList());
        ms.Position = 0;
        var sr = new StreamReader(ms);
        Properties.Settings.Default.tree = sr.ReadToEnd();
        Properties.Settings.Default.Save();
    }
}

public static void LoadTreeView(TreeView tree)
{

    using (MemoryStream ms = new MemoryStream())
    {
        var sw = new StreamWriter(ms);
        sw.WriteLine(Properties.Settings.Default.tree);
        sw.Flush();
        ms.Seek(0, SeekOrigin.Begin);

        BinaryFormatter bf = new BinaryFormatter();
        object obj = bf.Deserialize(ms);

        TreeNode[] nodeList = (obj as IEnumerable<TreeNode>).ToArray();
        tree.Nodes.AddRange(nodeList);
    }
}

아무도 아이디어가 있습니까?
감사합니다.

PCG

이것을 시도하십시오

    public static void SaveTree(TreeView tree)
    {
        using (var ms = new MemoryStream())
        {
            new BinaryFormatter().Serialize(ms, tree.Nodes.Cast<TreeNode>().ToList());

            Properties.Settings.Default.tree = Convert.ToBase64String(ms.ToArray());
            Properties.Settings.Default.Save();
        }
    }

    public static void LoadTree(TreeView tree)
    {
        byte[] bytes = Convert.FromBase64String(Properties.Settings.Default.tree);
        using (var ms = new MemoryStream(bytes, 0, bytes.Length))
        {
            ms.Write(bytes, 0, bytes.Length);
            ms.Position = 0;
            var data =  new BinaryFormatter().Deserialize(ms);
            tree.Nodes.AddRange(((List<TreeNode>)data).ToArray());
        }
    }

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

clrmq를 통한 직렬화 및 역 직렬화

분류에서Dev

MemoryStream에서 다양한 객체 유형을 효율적으로 역 직렬화

분류에서Dev

BinaryFormatter를 사용하여 역 직렬화하는 동안 요소 건너 뛰기

분류에서Dev

JAXB 역 직렬화를 통한 개체 생성 사용자 지정

분류에서Dev

Firestore DB를 사용한 Flutter 데이터 직렬화 및 역 직렬화

분류에서Dev

동일한 JSON 내에서 두 개체를 직렬화 한 다음 Redis를 통해 수신 문자열에서 역 직렬화

분류에서Dev

LocalDateTime-LocalDateTime.parse를 사용한 역 직렬화

분류에서Dev

newtonsoft를 사용한 API 응답 역 직렬화

분류에서Dev

결과에 대한 액세스를 Json 역 직렬화

분류에서Dev

dart를 사용한 객체 역 / 직렬화

분류에서Dev

Avro를 사용한 중첩 된 특정 유형 역 직렬화

분류에서Dev

Immutablejs : 복잡한 JS 객체를 역 직렬화하는 방법

분류에서Dev

JMS Serializer를 사용한 XML 역 직렬화

분류에서Dev

추가 변수를 사용한 gson 배열 역 직렬화

분류에서Dev

CustomCreationConverter를 사용한 JSON 역 직렬화를 통해 유형 생성 및 데이터 주입

분류에서Dev

xml 문서를 역 직렬화 할 수 있지만 동일한 문서로 직렬화 할 수 없음

분류에서Dev

직렬화 가능한 객체의 배열로 클래스를 역 직렬화하는 방법

분류에서Dev

spring-data-rest 및 컨트롤러는 직렬화 / 역 직렬화에 동일한 objectMaper를 사용합니다.

분류에서Dev

비트 크기 정의를 사용한 Java 사용자 정의 직렬화 및 역 직렬화

분류에서Dev

pickle / eval 및 zlib를 통한 직렬화

분류에서Dev

Java 직렬화 / 역 직렬화에 대한 안전한 json

분류에서Dev

Json .Net은 플랫 객체를 복잡한 객체로 직렬화합니다 (직렬화 / 역 직렬화에 대한 객체 구조 변경).

분류에서Dev

필드 유형 변경을 통한 Gson 역 직렬화

분류에서Dev

파일에 대한 데이터 직렬화 / 역 직렬화

분류에서Dev

RMI를 통해 역 직렬화 된 개체로 서버 개체 업데이트

분류에서Dev

일반 객체를 문자열로 직렬화 / 역 직렬화

분류에서Dev

간단한 XML 역 직렬화

분류에서Dev

C # XMLNS 복잡한 역 직렬화

분류에서Dev

복잡한 JSON 역 직렬화

Related 관련 기사

  1. 1

    clrmq를 통한 직렬화 및 역 직렬화

  2. 2

    MemoryStream에서 다양한 객체 유형을 효율적으로 역 직렬화

  3. 3

    BinaryFormatter를 사용하여 역 직렬화하는 동안 요소 건너 뛰기

  4. 4

    JAXB 역 직렬화를 통한 개체 생성 사용자 지정

  5. 5

    Firestore DB를 사용한 Flutter 데이터 직렬화 및 역 직렬화

  6. 6

    동일한 JSON 내에서 두 개체를 직렬화 한 다음 Redis를 통해 수신 문자열에서 역 직렬화

  7. 7

    LocalDateTime-LocalDateTime.parse를 사용한 역 직렬화

  8. 8

    newtonsoft를 사용한 API 응답 역 직렬화

  9. 9

    결과에 대한 액세스를 Json 역 직렬화

  10. 10

    dart를 사용한 객체 역 / 직렬화

  11. 11

    Avro를 사용한 중첩 된 특정 유형 역 직렬화

  12. 12

    Immutablejs : 복잡한 JS 객체를 역 직렬화하는 방법

  13. 13

    JMS Serializer를 사용한 XML 역 직렬화

  14. 14

    추가 변수를 사용한 gson 배열 역 직렬화

  15. 15

    CustomCreationConverter를 사용한 JSON 역 직렬화를 통해 유형 생성 및 데이터 주입

  16. 16

    xml 문서를 역 직렬화 할 수 있지만 동일한 문서로 직렬화 할 수 없음

  17. 17

    직렬화 가능한 객체의 배열로 클래스를 역 직렬화하는 방법

  18. 18

    spring-data-rest 및 컨트롤러는 직렬화 / 역 직렬화에 동일한 objectMaper를 사용합니다.

  19. 19

    비트 크기 정의를 사용한 Java 사용자 정의 직렬화 및 역 직렬화

  20. 20

    pickle / eval 및 zlib를 통한 직렬화

  21. 21

    Java 직렬화 / 역 직렬화에 대한 안전한 json

  22. 22

    Json .Net은 플랫 객체를 복잡한 객체로 직렬화합니다 (직렬화 / 역 직렬화에 대한 객체 구조 변경).

  23. 23

    필드 유형 변경을 통한 Gson 역 직렬화

  24. 24

    파일에 대한 데이터 직렬화 / 역 직렬화

  25. 25

    RMI를 통해 역 직렬화 된 개체로 서버 개체 업데이트

  26. 26

    일반 객체를 문자열로 직렬화 / 역 직렬화

  27. 27

    간단한 XML 역 직렬화

  28. 28

    C # XMLNS 복잡한 역 직렬화

  29. 29

    복잡한 JSON 역 직렬화

뜨겁다태그

보관