2016-04-22 77 views
0

我有一個微小的方法試圖從一個 InputStream對象返回一個Windows文件路徑。在Eclipse Variables窗口中,我可以看到字段'path'中的String I ,但似乎無法訪問並返回它。 (見圖片)。如何訪問InputStream對象中的字符串?

static String getPathFromInputStream(InputStream is) { 
    Scanner s = new Scanner(is).useDelimiter("\\A"); 
    return "abc";  // Compile error from: is.in.path; 
}      // "in cannot be resolved or is not a field" 

兩個問題:我應該能夠訪問所有我的變量 窗口看到了什麼?而且,如何返回String'path'(如果可以)?

Eclipse Variables window

enter image description here

+0

正如對重複問題的回答所指出的,一般情況下是不可能的。但是,如果您願意接受某些限制,則可以採用其他方法。 –

+0

自從它關閉後,我無法回答這個問題,但我向其他人添加了自己的詳細答案:http://stackoverflow.com/a/36802489/639520 –

回答

1

你的輸入流對象的類型的FileInputStream的但表示爲InputStream的,該屬性是用於FileInpuStream。

不,你不能訪問該窗口中的所有變量,它顯示你所有的私有和公共變量,你只能訪問公共成員和方法。

0

那麼,答案是:不,你不應該從InputStream獲得路徑。你所看到的變量應該是私有的,而且在字段中,我相信在FilterInputStream的基礎上,過濾流中會有一個受保護的字段。