2013-09-23 21 views
1

我想轉換一個擴展了BufferedInputStream類的java類。它使用mark(1024),我認爲這意味着光標將移動到位置1024並最後調用reset()方法。現在我已將類更改爲從System.IO命名空間中的BufferedStream繼承,但我不知道.net中的mark(int)和reset()方法是否有等效的方法。什麼是C#中的標記和重置方法在java中的等效方法

+0

我覺得'Seek'方法和'Position'財產都是你所需要的。 http://msdn.microsoft.com/en-us/library/System.IO.BufferedStream.aspx –

+0

你是對的,我要去測試它們。 – user217648

+1

現在我使用了Seek(1024,SeekOrigin.Begin)而不是標記(1024)。在Java方法結束後的一段for和一些代碼之後,它調用reset()。我需要設置Position = 0而不是rest()方法嗎? – user217648

回答

0

.NET中沒有等價的方法。 mark標記當前位置,因爲位置reset應跳轉到。

但你可以實現他們自己的精簡版本:

public class YourClass 
{ 
    private int _resetPosition; 

    public void Mark() 
    { 
     _resetPosition = Position; 
    } 

    public void Reset() 
    { 
     Position = _resetPosition; 
    } 
} 
相關問題