gpt4 book ai didi

java - 安卓 Java : File seems to be locked after creating/writing

转载 作者:行者123 更新时间:2023-12-01 04:13:25 25 4
gpt4 key购买 nike

我是 .NET 开发人员多年(10 年),我在空闲时间第一次编写 android java 程序。我正在编程的应用程序是一个用于某些类(class)参与者输入数据的应用程序。类(class)讲师输入一些类(class)编号(这是文件名的一部分),每个参与者输入他的姓名和出生日期。所以我有两项 Activity 。一份给讲师,一份给参与者。

第一个 Activity 在下载文件夹中创建文件,第二个 Activity 将参与者数据附加到 CSV 文件末尾。到目前为止,对于 C#.net 开发人员来说没有问题,因为 java 语法类似于 c# 语法。该应用程序在一周内完成编程。

但是现在在测试过程中出现以下问题:生成的csv文件可以在android文件资源管理器中在android上查看,并且内容可以在android中打开。但如果我将智能手机连接到台式电脑,则 csv 文件不会显示在 Windows 文件资源管理器中。

如果我重新启动智能手机,该文件仅显示在 Windows 文件资源管理器中。尽管我使用 close 方法关闭文件并结束应用程序,但代码似乎没有释放资源。

以下代码中我犯了什么错误:

public boolean CreateFile() {
boolean OK = false;

File file = new File(_FileName);
if (!file.exists()) {
try {
if (file.createNewFile())
{
_StatusText.setText( "Status:Leere Kurs-Teilnehmer-Datei angelegt:\n" + _FileName + ".csv");
OK = true;
}
else
_StatusText.setText("Status:Datei nicht angelegt");
} catch (Exception e) {
_StatusText.setText("Status:Fehler:" + e.toString());
}
finally {
return OK;
}
}
else
{
_StatusText.setText("Status:Bereits Vorhandene Kursliste wird verwendet");
return true;
}
}

这是在 csv 文件末尾添加行的代码:

public static void AppendDataToCSV(String Filename, String Nachname, String Vorname, String Datum) throws IOException {
FileWriter out = null;
try {
StringBuilder textline = new StringBuilder();
textline.append(Nachname)
.append(";")
.append(Vorname)
.append(";")
.append(Datum)
.append("\n");

out = new FileWriter(Filename, true);
out.write(textline.toString());
}
finally {
if (out != null)
out.close();
}
}

这是完成应用程序的代码:

private void ButtonEndeClick(){
_StatusText.setText("Ende");
finish();
System.exit(0);
}

请让我知道如何确保在应用程序关闭后释放所有资源。

非常感谢您的帮助:-)

最佳答案

这不是文件锁定,而是 Android 处理新文件条目的方式。好消息是,看起来其他人以前也遇到过这个问题,而且似乎已经有人解决了。

所以this Stackoverflow question and answer可能对你有帮助。

Viel Glück damit。

关于java - 安卓 Java : File seems to be locked after creating/writing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19675639/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com