java方法名前注释问题

java方法名前注释问题,第1张

Java注解是附加在代码中的一些元信息,用于一些工具在编译、运行时进行解析和使用,起到说明、配置的功能。

注解不会也不能影响代码的实际逻辑,仅仅起到辅助性的作用。包含在 javalangannotation 包中。

1、元注解

元注解是指注解的注解。包括 @Retention @Target @Document @Inherited四种。

11、@Retention: 定义注解的保留策略

@Retention(RetentionPolicySOURCE) //注解仅存在于源码中,在class字节码文件中不包含

@Retention(RetentionPolicyCLASS) // 默认的保留策略,注解会在class字节码文件中存在,但运行时无法获得,

@Retention(RetentionPolicyRUNTIME) // 注解会在class字节码文件中存在,在运行时可以通过反射获取到

12、@Target:定义注解的作用目标

@Target(ElementTypeTYPE) //接口、类、枚举、注解

@Target(ElementTypeFIELD) //字段、枚举的常量

@Target(ElementTypeMETHOD) //方法

@Target(ElementTypePARAMETER) //方法参数

@Target(ElementTypeCONSTRUCTOR) //构造函数

@Target(ElementTypeLOCAL_VARIABLE)//局部变量

@Target(ElementTypeANNOTATION_TYPE)//注解

@Target(ElementTypePACKAGE) ///包

由以上的源码可以知道,他的elementType 可以有多个,一个注解可以为类的,方法的,字段的等等

13、@Document:说明该注解将被包含在javadoc中。

14、@Inherited:说明子类可以继承父类中的该注解。

我写了一段遍历某个文件查找指定文件的,你自己改成你需要的功能。

import javaioFile;

import javautilHashMap;

public class Test1 {

static HashMap<String, String> filelist=new HashMap<String, String>();

/

递归方法

@param path 文件路径

/

public static void find(String path){

File file=new File(path);

File[] files = filelistFiles();

//如果文件数组为null则返回

if (files == null)

return;

for (int i = 0; i < fileslength; i++) {

if (files[i]isDirectory()) {

//判断是不是文件夹,如果是文件夹则继续向下查找文件

find(files[i]getAbsolutePath());

} else {

//记录文件路径

String filePath = files[i]getAbsolutePath()toLowerCase();

//记录文件名

String fileName=files[i]getName()toLowerCase();

// Systemoutprintln("---"+strFileName);

filelistput(fileName, filePath);

}

}

}

public static void main(String[] args) {

//需要遍历的路径,也就是你要查找文件所在的路径

String path="D:\\kpi\\";

find(path);

Systemoutprintln("kpi9的路径:"+filelistget("kpi9"));

//输出结果:d:\kpi\kpi9

}

}

有一些假定,每个文本文件只保存一行数据,只有两个地点,自己看看吧,文件格式不正确,自己修改吧可以把指定目录内的所有txt文件,合并后保存到指定的txt文件中

package netnetjavafileutil;

import javaioBufferedReader;

import javaioFile;

import javaioFileInputStream;

import javaioFileOutputStream;

import javaioFilenameFilter;

import javaioIOException;

import javaioInputStreamReader;

import javaioPrintStream;

import javautilArrayList;

import javautilList;

/

@author HP

/

public class FileTools {

private final String aPrefix="aaaa";

private final String bPrefix="bbbb";

/

返回第一行内容

@param fname 文本文件名称

@return

@throws javaioIOException

/

private String readLineFromTxt(String fname)throws IOException {

String line; // 用来保存每行读取的内容

BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(fname)));

line = readerreadLine(); // 读取第一行

readerclose();

return line;

}

/

@param a

@param b

@param fname

/

private void writeToTxt(List a,List b,String fname)throws IOException {

PrintStream ps = new PrintStream(new FileOutputStream(fname));

for(int i=0;i<asize();i++)

psprintln(aget(i));

for(int i=0;i<bsize();i++)

psprintln(bget(i));

psclose();

}

/

合并指定目录内的多个文本文件

@param strPath 批量文本文件所在目录名称

@param strFile 生成的文本文件名称

@return

/

public boolean mergeFile(String strPath,String strFile){

boolean f=true;

List listA=new ArrayList();//aaaa内容

List listB=new ArrayList();//bbbb内容

File path=new File(strPath);

if(!pathexists()||!pathisDirectory()){//输入的必须是目录

f=false;

}else{

try{

String[] fname=pathlist(new FilenameFilter(){

public boolean accept(File dir, String name) {

if(name!=null&&nameendsWith("txt"))

return true;

else

return false;

}

});//获取目录内所有txt结尾的文件名字

for(int i=0;i<fnamelength;i++){

String tmp=thisreadLineFromTxt(strPath+"\\"+fname[i]);

if(tmp==null)

continue;

if(fname[i]startsWith(aPrefix)){

listAadd(aPrefix+tmp);

}else if(fname[i]startsWith(bPrefix)){

listBadd(bPrefix+tmp);

}

}

thiswriteToTxt(listA, listB, strFile);

}catch(Exception e){

eprintStackTrace();

f=false;

}

}

return f;

}

public static void main(String[] args){

FileTools ft=new FileTools();

ftmergeFile("c:\\txt", "d:\\outtxt");

}

}

判断方法如下:

获取同一文件名前缀的所有java文件,解析出其中的时间戳信息,可以使用正则表达式等方式进行解析;

2将所有java文件按照时间戳信息从大到小排序,可以使用java的Collectionssort()方法结合自定义Comparator进行排序;

3排序后,最新的java文件就位于排序结果的第一个位置。

文件属于文件的一种,与普通文件载体不同,文件是以硬盘为载体存储在计算机上的信息集合。

最长前缀

String[]data=new String[]{"这之前是前缀","这之前是前缀"};

int n=0;

int thisStr=-1;

String tag="这之前是前缀";

for(int i=0;i<datalength;i++){

int p=strindexOf(tag);

if(p>n){

thisStr=i;

n=p;

}

}

Systemoutprintln(data[thisStr]+"的前缀是最长的");

以上就是关于java方法名前注释问题全部的内容,包括:java方法名前注释问题、java 根据文件获取文件名及路径的方法、java读取多个txt文件内容,并按照文件名称排序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9477595.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存