0
点赞
收藏
分享

微信扫一扫

java 实现读取txt文件,反射创建对象,android 手机缓存文件目录


先说实现功能,在说遇到问题

目录

​​java 实现读取txt文件,反射创建对象​​


​​java.lang.ClassNotFoundException ​​

​​AS运行main()方法报错:SourceSet with name ‘main’ not found​​

​​ json文件优势​​

​​Context 的意思和作用​​

​​一个是Android中assert的资源文件;​​

​​第二种写java 通过main 方法调用本地文件​​

java 实现读取txt文件,反射创建对象

目录:

目的通过修改txt文件内容创建不同的对象,输出不同的记录;

java 实现读取txt文件,反射创建对象,android 手机缓存文件目录_java

​编辑

上代码:

public class BaseBt {

public BaseBt() {
System.out.println("BaseBt构造");

}

public void disPlay(){
System.out.println("BaseBt");
}
}


public class CircularBt  extends BaseBt{

public void disPlay(){
System.out.println("CircularBt");
}
}


public class SquareBt extends BaseBt{

public void disPlay(){
System.out.println("SquareBt");
}
}


public class TriangleBt extends BaseBt{

public void disPlay(){
System.out.println("TriangleBt");
}

}


package button;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;

/**
* @ProjectName: ArcfaceDemo
* @Package: button
* @ClassName: txttest
* @Description: java类作用描述
* @Author: 作者名
* @CreateDate: 2021/9/28 0028 下午 10:43
* @UpdateUser: 更新者:
* @UpdateDate: 2021/9/28 0028 下午 10:43
*/

public class txttest {
/**
* 读取txt文件的内容
* @param file 想要读取的文件对象
* @return

///C:\butType.txt
public static String txt2String(File file){
StringBuilder result = new StringBuilder();
try{
BufferedReader br = new BufferedReader(new FileReader(file));//构造一个BufferedReader类来读取文件
String s = null;
while((s = br.readLine())!=null){//使用readLine方法,一次读一行
// result.append(System.lineSeparator()+s);
result.append(s);
}
br.close();
}catch(Exception e){
e.printStackTrace();
}
return result.toString();
}

public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException {
File file = new File("C:\butType.txt");
String byTypeClass=txt2String(file);
System.out.println(byTypeClass);
BaseBt baseBt =


​编辑

什么是java反射

JAVA反射机制

Java的反射(reflection)机制是指在程序的运行状态中,可以构造任意一个类的对象,可以了解任意一个对象所属的类,可以了解任意一个类的成员变量和方法,可以调用任意一个对象的属性和方法。这种动态获取程序信息以及动态调用对象的功能称为Java语言的反射机制。**反射被视为动态语言的关键。 **

Java反射机制主要提供了以下功能:在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判断任意一个类所具有的成员变量和方法;在运行时调用任意一个对象的方法;生成动态代理。 有时候我们说某个语言具有很强的动态性,有时候我们会区分动态和静态的不同技术与作法。动态绑定(dynamic binding)、动态链接(dynamic linking)、动态加载(dynamic loading)等。然而“动态”一词其实没有绝对而普遍适用的严格定义,有时候甚至像面向对象当初被导入编程领域一样,一人一把号,各吹各的调。 一般而言,开发者社群说到动态语言,大致认同的一个定义是:“程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言”。

  • Perl,Python,Ruby是动态语言
  • C++,Java,C#不是动态语言。

尽管在这样的定义与分类下Java不是动态语言,它却有着一个非常突出的动态相关机制:Reflection。这个字的意思是“反射、映象、倒影”,用在Java身上指的是我们可以于运行时加载、探知、使用编译期间完全未知的classes。换句话说,Java程序可以加载一个运行时才得知名称的class,获悉其完整构造(但不包括methods定义),并生成其对象实体、或对其fields设值、或唤起其methods。这种“看透class”的能力(the ability of the program to examine itself)被称为introspection(内省、内观、反省)。Reflection和introspection是常被并提的两个术语。Java如何能够做出上述的动态特性呢?这是一个深远话题,本文对此只简单介绍一些概念。整个篇幅最主要还是介绍Reflection APIs,也就是让读者知道如何探索class的结构、如何对某个“运行时才获知名称的class”生成一份实体、为其fields设值、调用其methods。本文将谈到java.lang.Class,以及java.lang.reflect中的Method、Field、Constructor等等classes。

java.lang.ClassNotFoundException 

使用Class.forName(byTypeClass).newInstance();过程中总是不行,一定要进行debug;发现路径不对;对了/n;

java 实现读取txt文件,反射创建对象,android 手机缓存文件目录_java_02

​编辑

AS运行main()方法报错:SourceSet with name ‘main’ not found

java 实现读取txt文件,反射创建对象,android 手机缓存文件目录_前端_03

​编辑


解决方法:在.idea文件夹下的gradle.xml文件中添加


然后重新运行就可以了

java 实现读取txt文件,反射创建对象,android 手机缓存文件目录_前端_04

​编辑

 json文件优势

{
"code": "0000",
"data": {
"biRate": "0.32",
"carInfoByPython": {
"code": "0000",
"data": {
"biEndDate": "2018-10-05",
"brandName": "长安SC7162A4轿车",
"carkindCode": "客车",
"ciEndDate": "2018-10-05",
"companyCode": "picc",
"damageBi": 0,
"damageCi": 0,
"engineNo": "84BE17915",
"enrollDate": "2008-10-07",
"fuelType": "A ",
"result": true
}

Context 的意思和作用

我是通过两个例子才理解的;

一个是Android中assert的资源文件;

java 实现读取txt文件,反射创建对象,android 手机缓存文件目录_前端_05

​编辑

加载方式:AssetManager assetManager = context.getAssets();

android 打包apk将assert打包进apk,上下文就是手机中安装包目录;

第二种写java 通过main 方法调用本地文件

不需要写上下文,你的电脑环境就是你的上下文;

java 实现读取txt文件,反射创建对象,android 手机缓存文件目录_动态语言_06

​编辑

\


 Android文件系统管理— /storage/emulated/0/Android/data/{packgename}

/mnt/sdcard/Android/data/com.zhongxin.learninglibrary/cache/header_image

java 实现读取txt文件,反射创建对象,android 手机缓存文件目录_前端_07

​编辑 

java 实现读取txt文件,反射创建对象,android 手机缓存文件目录_前端_08

​编辑

/data/data/com.zhongxin.learninglibrary

java 实现读取txt文件,反射创建对象,android 手机缓存文件目录_前端_09

​编辑

\


举报

相关推荐

0 条评论