我想要做的是测试如果文件“turma.dat”已经存在,如果存在我只是打开它,如果它不存在,我创建一个新的文件并保存。当我第一次创建该文件时启动该应用程序,但每次我再次启动该应用程序时,该文件都将以白色创建。试图加载文件到主要活动的onCreate
MainActivity:
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val toolbar = findViewById(R.id.toolbar) as Toolbar
setSupportActionBar(toolbar)
var turma : Turma
var file = File("turma.dat")
if(file.exists()) {
turma = this.abrirArquivo()
}else{
turma = Turma()
ArquivoUtils(turma, this.applicationContext)
}
方法abrirArquivo:
@Throws(IOException::class, ClassNotFoundException::class)
fun abrirArquivo(): Turma {
val fis = this.applicationContext.openFileInput("turma.dat")
val ois = ObjectInputStream(fis)
return ois.readObject() as Turma
}
类ArquivoUtils:(负责接收Turma对象添加到文件并保存)
class ArquivoUtils internal constructor(var turminha: Turma, var context : Context) {
internal val fos = this.context.openFileOutput("turma.dat", Context.MODE_PRIVATE)
internal val oos = ObjectOutputStream(fos)
init {
this.salvarArquivo()
this.closeFile()
}
@Throws(IOException::class)
private fun salvarArquivo() {
oos.writeObject(turminha)
this.closeFile()
}
@Throws(IOException::class)
fun closeFile() {
oos.close()
}
你是什么意思的“创建在白色”? – Les
该文件为空。 –
so'File.exists(“turma.dat”)'返回true?你有调试器通过代码? – Les