如何在Java中利用反射读取文件

  介绍

今天就跟大家聊聊有关如何在Java中利用反射读取文件,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

Java反射

如何在Java中利用反射读取文件

/* *   ,*实现该接口中的方法,本来打算在FileUtils中调用该方法来生成实体对象,现已使用反射实现   ,* @param  & lt; E>   ,*/public  interface  Readable

由于在方法中使用了泛型,想要调用某个自定义的方法,就只能规定泛型的类要实现某个接口,这样就可以直接调用接口中的方法。
<代码>下面是我的文件读取方法

/* *   *,才能从文件中读取所需要的数据,并自动生成类对象添加到列表中   *,才能@param  tailPath 文件的名字(须带扩展名)   *,才能@param  clazz 列表中存储对象的类对象   *,才能@param  paramType 所存入的对象的构造函数的参数的类对象(该构造函数不能被私人或保护修饰)   *,才能@param  & lt; T>,列表中的泛型,也就是列表中存储对象的类型   *,才能@return 通过读取文件所得到的列表对象   *,才能@throws  IOException   *,才能@throws  IllegalAccessException   *,才能@throws  InstantiationException   *,才能@throws  InvocationTargetException   *,才能@throws  NoSuchMethodException   ,*/,public  static  & lt; T  extends  Readable祝辞,MyList,阅读(String  tailPath, Class, clazz,,类[],paramType)   ,,throws  IOException, IllegalAccessException,, InstantiationException,, InvocationTargetException, NoSuchMethodException  {//才能,basePath要读取文件的文件夹路径   String 才能;path =, basePath  +,“\ \”, +, tailPath;//,才能创建一个文件流   BufferedReader 才能;br =, new  BufferedReader (new  FileReader(路径));//才能,这个MyArrayList是我自己写的一个顺序表,可直接替换成java提供的ArrayList   MyList<才能;T>, list =, new  MyArrayList<在();//才能,通过方法传入的类和参数列表获取类的构造方法   Constructor<才能;T>, constructor =, clazz.getConstructor (paramType);//才能,新的一个对象数组来存放读取的数据(存放构造函数的参数)   对象[],才能objs =, new 对象(paramType.length);   String 才能;str =,空;//才能,没有读到文件的尾部就一直读取文件   while 才能;((str =, br.readLine ()), !=, null), {   ,,//,读取到的字符串以空格分隔   ,,String [], data =, str.split (“,“);   ,,for  (int 小姐:=,0;小姐:& lt;, paramType.length;我+ +),{   ,,//,构建构造函数的参数   ,,,Object  o =, paramType[我].getConstructor (String.class) .newInstance(数据[我]);   ,,,obj[我],=,o;   ,,}//,,,通过调用之前获取到的构造方法来创建泛型对象   ,,T  T =, constructor.newInstance (obj);   ,,list.add (t);   ,,}//,才能关闭文件流   br.close才能();   return 才能;列表;   ,}

看完上述内容,你们对如何在Java中利用反射读取文件有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

如何在Java中利用反射读取文件