2012-03-20 21 views
1

我需要降低接收到的序列號以執行FIX認證以檢查間隙填充/重新發送工作。Quickfix更改序列號

我試着編輯號碼,但現在我每次啓動我的應用程序時都會收到EOF Exception

序列號文件的格式是有點不可思議:

^@^C7:4 

任何想法如何做到這一點?

謝謝。

+1

並且你做了什麼編輯?這可能是一個二進制文件,而不是一個文本文件,所以你不能用記事本編輯它,並期望它可以工作。 – Viruzzo 2012-03-20 12:47:54

+0

我嘗試了記事本,並在cygwin中使用nano。你還可以編輯它嗎? – 2012-03-20 14:37:26

+0

要編輯二進制文件,您需要一個二進制編輯器*和*深入瞭解文件的製作方法。 – Viruzzo 2012-03-20 15:50:38

回答

4
public static void main(String[] args) throws IOException { 
    int senderSequenceNumber=1910; 
    int targetSequenceNumber=2268; 
    RandomAccessFile file = new RandomAccessFile("C:\\filename.seqnums", "rw"); 
    file.seek(0); 
    file.writeUTF("" + senderSequenceNumber + ':'+ targetSequenceNumber); 
} 

這是從quickfix.FileStore

適應
0

可以使用file.readUTF()打印序列號字符串。

 RandomAccessFile seqFile = new RandomAccessFile("/Users/jacky/test.seqnums", "r"); 
     System.out.println(seqFile.readUTF()); 
     seqFile.close();