0

現在、フォルダーからファイルを読み取り、各ファイルを1行ずつ読み取り、不要な文字を置き換えるコードセグメントを作成しました。

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

現在、2 つの質問があります。

これらの処理された行を別のバックアップ ファイルに書き込む必要があります。このファイルは元のファイルと同じ名前ですが、別のディレクトリに配置されます。

したがって、最初の質問は、元のファイルの名前を取得するにはどうすればよいですか?

2 番目の質問は、指定された名前のファイルを作成し、これらの処理された行をこのファイルに書き込むにはどうすればよいかということです。

4

1 に答える 1

1

getNameFileファイルの名前を取得するクラスの下のメソッドです。

javadocsから:

public String getName()

この抽象パス名が示すファイルまたはディレクトリの名前を返します。これは、パス名の名前シーケンスの最後の名前です。パス名の名前シーケンスが空の場合、空の文字列が返されます。

名前付きのファイルを作成するには、次のようにFile コンストラクターを使用します。

public File(String pathname)

指定されたパス名文字列を抽象パス名に変換して、新しい File インスタンスを作成します。指定された文字列が空の文字列の場合、結果は空の抽象パス名になります。

于 2013-08-18T11:14:36.573 に答える