BufferedReader bufferedReader = null;
BufferedWriter bufferedWriter = null;
try {
File distFile = new File(filePath);
if (!distFile.getParentFile().exists())
distFile.getParentFile().mkdirs();
bufferedReader = new BufferedReader(new StringReader(res));
bufferedWriter = new BufferedWriter(new FileWriter(distFile));
char buf[] = new char[1024]; // 字符缓冲区
int len;
while ((len = bufferedReader.read(buf)) != -1) {
bufferedWriter.write(buf, 0, len);
}
bufferedWriter.flush();
bufferedReader.close();
bufferedWriter.close();
} catch (IOException e) {
e.printStackTrace();
flag = false;
return flag;
} finally {
if (bufferedReader != null) {
try {
bufferedReader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return flag;
}
}
一段有意思的java代码请大家解释~首先0x7FFFFFFF就是Java里面整形变量的最大值了,你可以看看Integer.MAX_VALUE,"0x7FFFFFFF
*
2.0"是,Java会把结果当做double型,因为double型的数值范围比int大,所以得到的是数学上正确的结果,然后强制转换我int就是Integer.MAX_VALUE了 , 第一个表达式为true;第二个里面"0x7FFFFFFF
*
2"会被认为是int型,因为0x7FFFFFFF和2都是合法的int , 所以就是发生数值的溢出(int)(0x7FFFFFFF
*
2)就被算成-2了,你如果把第二个的结果显式制定为double型 , 得到的结果也是true:
double
d
=
0x7FFFFFFFL
*
2;//加L指定为long型
System.out.println((int)(0x7FFFFFFF
*
2.0)
==
(int)
d);
第三个因为数值比较小,所以是true 。
有意思的java简单代码的介绍就聊到这里吧,感谢你花时间阅读本站内容 , 更多关于有意思的java程序、有意思的java简单代码的信息别忘了在本站进行查找喔 。
推荐阅读
- 荣耀手机如何装鸿蒙系统,荣耀手机装鸿蒙系统后,无法接通
- jquery反向选择,jquery选择器返回的对象是dom模型对象
- sap帐套和财务科目,sap帐套和财务科目的区别
- 智慧小程序助手怎么用,慧助智能小程序
- JAVA代码安全插件 java编写插件
- postgresql逗号分隔的简单介绍
- 抖音网络游戏挤地铁,挤地铁 游戏
- java右击鼠标撤销代码,java鼠标按下时会产生什么事件
- php数据库查找代码 php查询数据库内容表格