Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Dynamic;
- using System.IO;
- using System.Net;
- using Json.Net;
- using Newtonsoft.Json;
- namespace FileCreator
- {
- internal class Program
- {
- private String outOffsetFileName = "graphOffset.wg";
- private String outFileTitlesName = "graphTitles.wg";
- private String outGraphFileName = "graphStruct.wg";
- private int bytesRequiredForID = 3;
- private int amountOfObjects = -1;
- private List<GraphObject> jsonGraphReader(String fileName)
- {
- List<GraphObject> graphObjects = new List<GraphObject>();
- using (StreamReader r = File.OpenText(fileName))
- {
- string json = r.ReadToEnd();
- List<GraphObject> items = JsonConvert.DeserializeObject<List<GraphObject>>(json);
- }
- return graphObjects;
- }
- private BinaryWriter createNewBinaryFile(String outFileName)
- {
- return new BinaryWriter(new FileStream(outFileName, FileMode.Create));
- }
- private void saveGraphObjectInitialParameters(GraphObject g, BinaryWriter bw)
- {
- int offsetBytes = 4;
- int requiredBytes = this.bytesRequiredForID + offsetBytes; // ID, OFFSET
- byte[] nodeData = new byte[requiredBytes];
- int offsetStart = this.amountOfObjects * requiredBytes;
- //Array.Copy(BitConverter.GetBytes((g.id)),0, nodeData, 0, 3);
- bw.Write(nodeData);
- }
- private void saveGraphObjectNeightbours(GraphObject g, BinaryWriter bw)
- {
- int bytesForIDs = g.amountOfNeightbours() * this.bytesRequiredForID; // on given offset all neightbours ids
- byte[] nodeData = new byte[bytesForIDs];
- bw.Write(nodeData);
- }
- private void createGraphFile(String jsonInputFileName)
- {
- List<GraphObject> graphObjects = jsonGraphReader(jsonInputFileName);
- this.amountOfObjects = graphObjects.Count;
- BinaryWriter bwStreamOffset = createNewBinaryFile(this.outOffsetFileName);
- foreach (var go in graphObjects)
- {
- saveGraphObjectInitialParameters(go, bwStreamOffset);
- }
- ////// GRAPH STRUCTURE FILE
- BinaryWriter bwStreamGraph = createNewBinaryFile(this.outGraphFileName);
- foreach (var go in graphObjects)
- {
- saveGraphObjectNeightbours(go, bwStreamGraph);
- }
- bwStreamOffset.Close();
- bwStreamGraph.Close();
- }
- public static void Main(string[] args)
- {
- Console.WriteLine("Test");
- Console.ReadKey();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement