问题描述
- 使用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自动给加的,我想问问大神们是怎么处理的,小弟被这事困扰了两天了,希望大家能帮我解决下
解决方案
原代码如下:
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/
解决方案二:
现在解决没有呀
也遇到这个问题了
时间: 2024-09-26 02:34:52