如何访问InputStream对象中的String?

时间:2016-04-22 19:30:19

标签: java eclipse

我有一个小方法试图从一个Windows返回一个Windows文件路径 InputStream对象。在Eclipse Variables窗口中,我可以看到String I 想要在字段'path'中,但似乎无法访问并返回它。 (见图。)

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

2 个答案:

答案 0 :(得分:1)

您的输入流对象的类型为FileInputStream,但表示为InputStream,该属性适用于FileInpuStream。

并且您无法访问该窗口中的所有变量,它会向您显示所有私有和公共变量,您只能访问公共成员和方法。

答案 1 :(得分:0)

嗯,答案是:不,你不应该从InputStream获取路径。您所看到的变量应该是私有的,而对于in字段,基于FilterInputStream的过滤流中有一个受保护的字段,我相信。