【问题标题】:Java filename searchingJava 文件名搜索
【发布时间】:2014-07-24 05:51:36
【问题描述】:

我需要建立一个用于书籍存储的数据库。所以我想做的基本上是为我完成的每一本书制作一个文件。

现在我需要在需要时搜索书籍。在 2 个函数中,我需要找到这本书并编辑它的信息。

我不知道如何获取文件名并将其分配给扫描仪\bufferwriter\ect。

谁能帮帮我?

【问题讨论】:

  • 您使用的是 RDBMS 还是平面文件?
  • 只是 .txt 文件,我把它们放在 C://"program_name" 中(还没有名字)
  • 你的问题太宽泛了。但是,您已经清楚地确定了您的知识差距在哪里,您说 我不知道如何获取文件名并将其分配给扫描仪\缓冲区写入器\ect,这是一个伟大的起点。将其分为两个问题:获取文件的名称,以及写入/读取文本文件。那应该是你的研究开始的地方。编写一些原型程序来将您找到的内容作为文本,然后将它们放在一起并编写主程序。当您遇到此处尚未回答的问题或问题时回复。
  • 我知道如何写入具有常量名称的文件。但是,如果我要更改名称怎么办。我需要把它放在一个变量中。到目前为止唯一的问题是如何找到具有我要查找的名称的文件。是否有返回文件名的语句。

标签: java database file filenames flat-file


【解决方案1】:

你有两个选择:

  1. 将文件名放入另一个已知文件名(即:BookList.txt),然后当您的程序打开时,您可以解析该文件并获取目录中的其他文件名。

  2. 您可以获取文件目录列表并将其存储到列表中。例如:

    File f = new File("C:\\");
    ArrayList<String> names = new ArrayList<String>(Arrays.asList(f.list()));
    

知道文件名后,您可以打开这些文件并进行必要的编辑。完成后不要忘记关闭文件读取器和写入器!

您可以使用 for 循环遍历数组。例如:

for(String i : names){ // iterate through each file name in the array
    Scanner fileScanner = new Scanner(i);

    ... // do some parsing

    fileScanner.close();
}

【讨论】:

  • 这是否意味着没有获取文件名的真实声明,因为我尝试了你在那里所做的事情,但有点搞砸了,这就是我在这里的原因
  • @MySecAccCodeMast 参见File list 方法。
  • 由于某种原因我无法创建字符串数组
  • 为了将来参考,请在您的原始帖子中将代码发布为SCCE。您在哪里尝试使用文件列表方法?
  • 在 searchbook 中显示有关精选书的所有信息,在预订中更改预订和日期
猜你喜欢
  • 1970-01-01
  • 2012-10-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-27
  • 2015-07-30
  • 2012-03-29
相关资源
最近更新 更多