2 illusion 2014 illusion_2014 于 2014.11.06 11:45 提问

使用sae中遇到的关于directory路径的问题

我在sae上开发的时候采用了有关lucene的内容,其中lucene需要生成索引,我把索引文件已经放到了sae提供的storage中。我用sae自带的com.sina.sae.storage.SaeStorage; 和com.sina.sae.util.SaeUserInfo;包操作的时候,都能在SAE的storage中取到我想要找的文件(路径获取方法是:saeStorage.getUrl,能取到文件并读出文件),但是当我采用
Directory directory = FSDirectory.open(new File(通过saeStorage.getUrl取到的路径));就出现了问题,后来我打印了一下这个directory,发现出现 org.apache.lucene.store.MMapDirectory@/usr/local/sae/jkdaemon/(写好的路径),和本地测试比较后发现,是在路径前面多了 /usr/local/sae/jkdaemon/ ,估计是sae自动给加的,我想问问大神们是怎么处理的,小弟被这事困扰了两天了,希望大家能帮我解决下

2个回答

illusion_2014
illusion_2014   2014.11.06 11:51

原代码如下:

SaeStorage saeStorage = new SaeStorage("accessKey", "accessSecret", "应用名");//相当于是连接到storage
String realPath = saeStorage.getUrl("应用名", "文件名称");//当文件名为空的时候是我想要的那个文件夹的路径

Directory directory = FSDirectory.open(new File(realPath));
//为了测试,我在文件名称不为空的情况下,读取了一个文件,输出后发现文件内容可以读取到
System.out.println("文件的路径为:"+saeStorage.getUrl("应用名", "_0.si"));
byte[] arr = saeStorage.read("illusion", "_0.si");

        System.out.println("长度为多少:"+arr.length);

        System.out.println("directory:"+directory);//在我的路径前面多了/usr/local/sae/jkdaemon/ 
dapenghehe
dapenghehe   2014.12.29 11:45

现在解决没有呀
也遇到这个问题了

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!