这里的save方法调用之后因为没有true所以会覆盖之前的内容这些都没有问题但是writer的writer方法写不进去东西。
Writer执行但没有结果问题怎么解决
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- a5156520 2022-06-20 21:09关注
应该是一些方法的使用不对有关,如FileWriter的参数没有设置为File对象和write后没有调用刷新方法flush(), 和getFileds()获取对象的所有属性,就必须先给对象设置属性。
参考链接:
Java字符流Writer写入文件Reader读取文件_java-zh的博客-CSDN博客_reader读取文件
Java Writer flush()方法 - Java IO流教程 - 一点教程
Java-使用反射获取对象信息_发灰梦的博客-CSDN博客_通过反射获取对象
代码修改如下:import java.io.File; import java.io.FileWriter; import java.io.Writer; import java.lang.reflect.Field; public class baocunde { public int a; public int b; public baocunde(int a,int b) { this.a=a; this.b=b; } public static void main(String[] args) { // TODO Auto-generated method stub save(new baocunde(3,5)); } public static void save(Object obj) { try { // FileWriter对象要使用File对象作为参数 //参考链接:https://blog.csdn.net/qq_36138652/article/details/121098627 File file = new File("f:\\read.txt"); Writer writer = new FileWriter(file); Class c = obj.getClass(); Field [] fields =c.getFields(); for(Field field:fields) { field.setAccessible(true); String name = field.getName(); field.setAccessible(true); String value = field.get(obj)+""; writer.write(name+"="+value); //http://www.yiidian.com/java-io/writer-flush.html //write后要调用flush方法把缓冲区数据写入文件 writer.flush(); System.out.println(name+"="+value); } }catch(Exception e) { e.printStackTrace(); } } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 两台交换机分别是trunk接口和access接口为何无法通信,通信过程是如何?
- ¥15 C语言使用vscode编码错误
- ¥15 用KSV5转成本时,如何不生成那笔中间凭证
- ¥20 ensp怎么配置让PC1和PC2通讯上
- ¥50 有没有适合匹配类似图中的运动规律的图像处理算法
- ¥15 dnat基础问题,本机发出,别人返回的包,不能命中
- ¥15 请各位帮我看看是哪里出了问题
- ¥15 vs2019的js智能提示
- ¥15 关于#开发语言#的问题:FDTD建模问题图中代码没有报错,但是模型却变透明了
- ¥15 uniapp的h5项目写一个抽奖动画