我正在阅读有关学习Java的内部课程.我找到了这段代码
class Animal{
class Brain{
}
}
Run Code Online (Sandbox Code Playgroud)
编译后, javap 'Animal$Brain'
输出为
Compiled from "Animal.java"class
Animal$Brain {
final Animal this$0;
Animal$Brain(Animal);
}
Run Code Online (Sandbox Code Playgroud)
它解释了内部类如何在内部类构造函数中获取对其封闭实例的引用.但是,当我将内部类定义为私有时,就像这样
class Animal{
private class Brain{
}
}
Run Code Online (Sandbox Code Playgroud)
然后编译后, javap 'Animal$Brain'
输出为
Compiled from "Animal.java"
class Animal$Brain {
final Animal this$0;
}
Run Code Online (Sandbox Code Playgroud)
那么为什么输出会有所不同呢?为什么没有显示内部类构造函数?在后一种情况下,内部类也获得了封闭类实例的引用.
我从 POST 请求中得到一个 base64 编码的字符串。我想在解码后将它存储在我的文件系统中的特定位置。所以我写了这段代码,
try:
file_content=base64.b64decode(file_content)
with open("/data/q1.txt","w") as f:
f.write(file_content)
except Exception as e:
print(str(e))
Run Code Online (Sandbox Code Playgroud)
这是在 /data/ 创建文件,但文件是空的。它不包含解码的字符串。没有权限问题。但是当我不是 file_content 将“Hello World”写入文件时。这是工作。为什么python无法将base64解码的字符串写入文件?它也没有抛出任何异常。处理 base64 格式时有什么需要注意的吗?