读取 txt 文件并将其存储在简单数组中
Reading a txt-file and store it in simple array
我在从 Android 中的现有 txt 文件加载文件时遇到了一些问题。
计划是,读取 txt 文件并将读取的字符串存储到应用程序启动时的字符串数组中。
保存在txt文件中的代码:
private void safeScore() {
File myDir = new File(Environment.getExternalStorageDirectory().toString()
+ directoryPath);
myDir.mkdir();
try {
File myFile = new File(Environment.getExternalStorageDirectory().getPath() + directoryPath +"/Spieler.txt");
myFile.createNewFile();
FileOutputStream fOut = new FileOutputStream(myFile);
OutputStreamWriter myOutWriter = new OutputStreamWriter(fOut);
for (int i = 0; i < Highscore.nameHS.length; i++)
{
myOutWriter.write(Highscore.nameHS[i] + ";");
}
myOutWriter.close();
fOut.close();
} catch (Exception e) {
e.printStackTrace();
}
}
现在我计划在 appstart 上将此 txt 的值存储回数组中。简单的说 - 相反的方式。
拆分命令的分隔符是“;”。
class高分的字符串数组nameHS是一个普通数组。没有数组列表。
也许有人可以帮助我将值存储回数组中。
你好,
斯文
BufferedReader in = new BufferedReader(new FileReader("Spieler.txt"));
String s1 = new String();
while((s1 = in.readLine()) != null) {
Highscore.nameHS[i++];
}
in.close();
如果我明白你想做什么,也许你可以朝这个方向试试
如果其他人有同样的问题。您可以在下面使用 elvirt 的代码片段找到我的解决方案:
try
{
BufferedReader in = new BufferedReader(new FileReader(Environment.getExternalStorageDirectory().toString() + directoryPath + "/Spieler.txt"));
String s1 = new String();
int i = 0;
while((s1 = in.readLine()) != null) {
//Toast.makeText(getApplicationContext(), "TextFile wurde geladen!" + " Wert: " + s1, Toast.LENGTH_SHORT).show();
Highscore.nameHS[i++] = s1;
}
in.close();
}
catch( IOException e )
{
Toast.makeText(getApplicationContext(), "Fehler beim Laden der Highscore-Spieler Datei!", Toast.LENGTH_LONG).show();
e.printStackTrace();
}
我在从 Android 中的现有 txt 文件加载文件时遇到了一些问题。
计划是,读取 txt 文件并将读取的字符串存储到应用程序启动时的字符串数组中。
保存在txt文件中的代码:
private void safeScore() {
File myDir = new File(Environment.getExternalStorageDirectory().toString()
+ directoryPath);
myDir.mkdir();
try {
File myFile = new File(Environment.getExternalStorageDirectory().getPath() + directoryPath +"/Spieler.txt");
myFile.createNewFile();
FileOutputStream fOut = new FileOutputStream(myFile);
OutputStreamWriter myOutWriter = new OutputStreamWriter(fOut);
for (int i = 0; i < Highscore.nameHS.length; i++)
{
myOutWriter.write(Highscore.nameHS[i] + ";");
}
myOutWriter.close();
fOut.close();
} catch (Exception e) {
e.printStackTrace();
}
}
现在我计划在 appstart 上将此 txt 的值存储回数组中。简单的说 - 相反的方式。
拆分命令的分隔符是“;”。
class高分的字符串数组nameHS是一个普通数组。没有数组列表。
也许有人可以帮助我将值存储回数组中。
你好,
斯文
BufferedReader in = new BufferedReader(new FileReader("Spieler.txt"));
String s1 = new String();
while((s1 = in.readLine()) != null) {
Highscore.nameHS[i++];
}
in.close();
如果我明白你想做什么,也许你可以朝这个方向试试
如果其他人有同样的问题。您可以在下面使用 elvirt 的代码片段找到我的解决方案:
try
{
BufferedReader in = new BufferedReader(new FileReader(Environment.getExternalStorageDirectory().toString() + directoryPath + "/Spieler.txt"));
String s1 = new String();
int i = 0;
while((s1 = in.readLine()) != null) {
//Toast.makeText(getApplicationContext(), "TextFile wurde geladen!" + " Wert: " + s1, Toast.LENGTH_SHORT).show();
Highscore.nameHS[i++] = s1;
}
in.close();
}
catch( IOException e )
{
Toast.makeText(getApplicationContext(), "Fehler beim Laden der Highscore-Spieler Datei!", Toast.LENGTH_LONG).show();
e.printStackTrace();
}