帮忙给看看这是什么异常,刚转JAVA不久

qiqundelang 2011-08-03 11:58:50
at org.apache.lucene.store.FSDirectory.create(FSDirectory.java:190)
at org.apache.lucene.store.FSDirectory.init(FSDirectory.java:177)
at org.apache.lucene.store.FSDirectory.getDirectory(FSDirectory.java:141)
at com.luceneSerchIncre.HardDiskSerch.main(HardDiskSerch.java:44)
...全文
138 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
hehe
小绵羊 2011-08-03
  • 打赏
  • 举报
回复
额把类似Exception in thread "main" java.lang.NullPointerException这个贴出来,或者贴个完整的
qiqundelang 2011-08-03
  • 打赏
  • 举报
回复
at org.apache.lucene.index.SegmentInfos.read(SegmentInfos.java:45)
at org.apache.lucene.index.IndexReader$1.doBody(IndexReader.java:146)
at org.apache.lucene.store.Lock$With.run(Lock.java:99)
at org.apache.lucene.index.IndexReader.open(IndexReader.java:141)
at org.apache.lucene.index.IndexReader.open(IndexReader.java:136)
at com.luceneSerchIncre.HardDiskSerch.main(HardDiskSerch.java:46)

还有这些
qiqundelang 2011-08-03
  • 打赏
  • 举报
回复
dir = FSDirectory.getDirectory(indexDir, true);
这句在作怪
把true改为flase就好了
qiqundelang 2011-08-03
  • 打赏
  • 举报
回复
文件是有的
一执行这个就没了
就是把后边的删除文件内容注释了
情况还是这样
qybao 2011-08-03
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 qiqundelang 的回复:]
File indexDir = new File("c:\\index");
Directory dir;

try
{
dir = FSDirectory.getDirectory(indexDir, true);

IndexReader reader = IndexReader.open(dir);

Term term = new Term("path", "1"); /……
[/Quote]
如果文件真的被你删了,那么找不到文件就不奇怪了
要防止异常,可以在读文件前判断文件是否存在 File的api
if (your_file.exists()) {
//do something here
}
qiqundelang 2011-08-03
  • 打赏
  • 举报
回复
File indexDir = new File("c:\\index");
Directory dir;

try
{
dir = FSDirectory.getDirectory(indexDir, true);

IndexReader reader = IndexReader.open(dir);

Term term = new Term("path", "1"); // ---精确查找,删除此纪录
Query query = new TermQuery(term);
IndexSearcher is = new IndexSearcher(dir);
Hits hits = is.search(query);
System.out.println("删除前" + hits.length() + " 个结果! ");

// 删除-----使用deleteDocument只能对term进行删除
reader.deleteDocuments(term);
reader.close();

} catch (Exception e1)
{
// TODO Auto-generated catch block
e1.printStackTrace();
}
这是代码
一执行这个,那个文件就被删了
所以说找不到那个文件
sjlzcj 2011-08-03
  • 打赏
  • 举报
回复
就算你刚转 java 也不会 连这个异常都看不懂吧

写的 多清楚啊 系统找不到指定的文件 确定你 c:\index\seqments 有这个文件嘛
qiqundelang 2011-08-03
  • 打赏
  • 举报
回复
java.io.FileNotFoundException: C:\index\segments (系统找不到指定的文件。)
at java.io.RandomAccessFile.open(Native Method)
at java.io.RandomAccessFile.<init>(Unknown Source)
at org.apache.lucene.store.FSIndexInput$Descriptor.<init>(FSDirectory.java:430)
at org.apache.lucene.store.FSIndexInput.<init>(FSDirectory.java:439)
at org.apache.lucene.store.FSDirectory.openInput(FSDirectory.java:329)
at org.apache.lucene.index.SegmentInfos.read(SegmentInfos.java:45)
at org.apache.lucene.index.IndexReader$1.doBody(IndexReader.java:146)
at org.apache.lucene.store.Lock$With.run(Lock.java:99)
at org.apache.lucene.index.IndexReader.open(IndexReader.java:141)
at org.apache.lucene.index.IndexReader.open(IndexReader.java:136)
at com.luceneSerchIncre.HardDiskSerch.main(HardDiskSerch.java:46)

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧