有关检索正在处理的文件的名称以及将处理过的行写入新文件的问题

时间:2013-08-18 11:13:05

标签: java

目前,我编写了一个代码段,可以从文件夹中读取文件,并逐行读取每个文件并替换一些无用的字符。

File[] files = dir.listFiles();
FileInputStream    fis;
BufferedReader br;
String   line;
for (File file : files) {
  fis = new FileInputStream(file);
  br = new BufferedReader(new InputStreamReader(fis, Charset.forName("UTF-8")));
  while ((line = br.readLine()) != null) {
           System.out.println("Before: "+line);        
               String templine = line.replaceAll("[a-zA-Z0-9]", "");
           System.out.println("After: "+templine);
  };

现在,我有两个问题:

我需要将这些处理过的行写入另一个备份文件,该文件与原始文件同名,但将放在另一个目录中。

因此,第一个问题是如何获取原始文件的名称?

第二个问题是如何创建具有给定名称的文件并将这些处理过的行写入此文件。

1 个答案:

答案 0 :(得分:1)

getNameFile类下的一个方法,用于获取文件名。

来自javadocs

  

public String getName()

     

返回此摘要表示的文件或目录的名称   路径名。这只是路径名称序列中的姓氏。   如果路径名的名称序列为空,则空字符串为   返回。

要创建具有名称的文件,请使用此处提到的File constructor

public File(String pathname)
  

通过转换给定的路径名​​字符串来创建新的File实例   成为一个抽象的路径名。如果给定的字符串是空字符串,   然后结果是空的抽象路径名。