JAVAファイルを読み込み、内容を書き込む
3487 ワード
最近、会社は元のコードを規範化する必要があります.問題はプログラムに注釈を追加する必要があります.注釈の内容はバージョン説明、バージョン番号、生産日、著者、内容、機能などです.手作業で手間がかかるので、プログラムで自動的に追加することを考えています.
解決手順:
1.ディレクトリの下のすべてのファイルをスキャンし、javaと接尾辞を付けたものは保存します.ディレクトリがスキャンされている場合は、次のスキャンを続行します.ここでは再帰関数を書く必要があります.
2.ファイルのアドレスを取得し、次にファイルの内容を読み出し、最初の行がpackageで始まると、コメントが追加されていないことを示し、RandomAccessFileクラスでコメントテンプレートをファイルに書き込む.コンテンツが出てきたら、最初の行に再配置する必要があることに注意してください.
解決手順:
1.ディレクトリの下のすべてのファイルをスキャンし、javaと接尾辞を付けたものは保存します.ディレクトリがスキャンされている場合は、次のスキャンを続行します.ここでは再帰関数を書く必要があります.
2.ファイルのアドレスを取得し、次にファイルの内容を読み出し、最初の行がpackageで始まると、コメントが追加されていないことを示し、RandomAccessFileクラスでコメントテンプレートをファイルに書き込む.コンテンツが出てきたら、最初の行に再配置する必要があることに注意してください.
/**
* Copyright (C), 2020-2020, Godsname Tech. Co., Ltd.
*/
package com.text;
import java.io.*;
import java.util.ArrayList;
import java.util.*;
/**
*
* Java
*
* : Copyright (C), 2020-2020, Godsname Tech. Co., Ltd.
*
* @author Godsname
* @since 2020-04
*/
public class AnnotationSpecifications {
//
static final String PATH = "C:\\Users\\Administrator\\IdeaProjects\\hadoop\\src\\main\\java\\com\\text";
//
static final String CONTENT = "/**
" +
" * Copyright (C), 2020-2020, Godsname Tech. Co., Ltd.
" +
" */
" +
"\r";
public static void main(String[] args) {
List fileList = new ArrayList();
getFilesPath(PATH,fileList);
putContentToFiles(fileList);
}
/**
* java
*
* @param list java
*/
public static void putContentToFiles(List list){
for(String filePath : list){
try {
FileReader fileReader = new FileReader(filePath);
BufferedReader bufferedReader = new BufferedReader(fileReader);
if(bufferedReader.readLine().indexOf("package")>=0){
File temp = File.createTempFile("temp",null);
RandomAccessFile raf = new RandomAccessFile(filePath,"rw");
FileOutputStream fileOutputStream = new FileOutputStream(temp);
FileInputStream fileInputStream = new FileInputStream(temp);
raf.seek(0);
byte[] buff = new byte[1024];
int hasRead = 0;
while((hasRead = raf.read(buff)) > 0){
fileOutputStream.write(buff,0,hasRead);
}
raf.seek(0);
raf.write(CONTENT.getBytes());
while((hasRead = fileInputStream.read(buff))>0){
raf.write(buff,0,hasRead);
}
fileReader.close();
bufferedReader.close();
raf.close();
fileInputStream.close();
fileOutputStream.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
/**
*
*
* @param filePath
* @param list
* @return boolean
*/
public static void getFilesPath(String filePath,List list){
File file = new File(filePath);
if(!file.isDirectory() && file.getName().endsWith("java")){
list.add(file.getPath());
}else if(file.isDirectory()){
String[] fileList = file.list();
for(int i = 0;i