0

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

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);
  };

现在,我有两个问题:

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

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

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

4

1 回答 1

1

getNameFile类下获取文件名的方法。

javadocs

公共字符串 getName()

返回此抽象路径名表示的文件或目录的名称。这只是路径名的名称序列中的最后一个名称。如果路径名的名称序列为空,则返回空字符串。

要创建具有名称的文件,请使用此处提到的File 构造函数:

public File(String pathname)

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

于 2013-08-18T11:14:36.573 回答