私がやっていることは、ファイル "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:
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
ファイルが空です。 –
だから 'File.exists(" turma.dat ")'がtrueを返しますか?あなたはデバッガでコードを踏んできましたか? – Les