【发布时间】:2012-07-22 00:25:48
【问题描述】:
我想将从文件中获取的字符串转换为数组列表。这个方法我试过了,还是不行:
import java.io.*;
import java.util.*;
public class Data
{
static File file = DataSaver.file;
static List<String> data = new ArrayList<String>(512);
public static void a() throws Exception
{
FileInputStream fis = new FileInputStream(file);
DataInputStream dis = new DataInputStream(fis);
BufferedReader reader = new BufferedReader(new InputStreamReader(dis));
if(!file.exists())
{
throw new IOException("Datafile not found.");
}
else
{
String[] string = reader.readLine().split("$");
for(int i = 0; i < string.length; i++)
{
data.add(string[i]);
}
}
dis.close();
System.out.println(data.toString()); //for debugging purposes.
}
}
输出:
[$testdata1$testdata2$]
想要的输出:
[testdata1, testdata2]
文件内容:
$testdata1$testdata2$
有人可以帮我吗?
【问题讨论】:
-
你为什么要调用
String'string'的数组? -
为什么不呢?你对“字符串”这个词有疑问吗?
-
这是一个错误的变量名。 Java 可能允许它,因为它的类不区分大小写,但这在 C# 中不起作用(其中
string是String的别名)。此外,它并没有真正描述变量中包含的内容。 -
如果你想阅读文本,请不要使用DataInputStream,它比有用更混乱。