为 txt 文件重新使用 inputStream(在线)- Java
Re-using a inputStream for txt file(online) - Java
我的程序从在线 txt 文件中读取数据。那改变了很多次。
我用一个inputStream来读取数据,然后把它放在一个ArrayList中。工作正常。
但是我使用相同的方法和相同的输入流来刷新数组列表。
我得到了相同的数据。
Class:
public class getGameData {
static InputStream is;
public static ArrayList<String> array = new ArrayList<String>();
public static ArrayList<String> getGameData(String file) {
URLConnection con;
try {
URL url = new URL("http://timme7893.nl/CardGame/GameData.txt");
con = url.openConnection();
con.connect();
is =con.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String line = null;
while ((line = br.readLine()) != null) {
// System.out.println(line);
array.add(line);
}
is.close();
is = null;
br.close();
} catch (IOException e) {
e.printStackTrace();
}
return array;
}
我的问题:如何清除或刷新输入流,以便我的 ArrayList 获得正确的数据?
首先,清除列表。 list.clear();
或者标记输入流然后重置。 is.mark(0); is.reset();
也分析这一行:is =con.getInputStream();
它总是得到相同的输入流。
还有一个提示,请在 finally 块中关闭您的连接。
我的程序从在线 txt 文件中读取数据。那改变了很多次。
我用一个inputStream来读取数据,然后把它放在一个ArrayList中。工作正常。 但是我使用相同的方法和相同的输入流来刷新数组列表。 我得到了相同的数据。
Class:
public class getGameData {
static InputStream is;
public static ArrayList<String> array = new ArrayList<String>();
public static ArrayList<String> getGameData(String file) {
URLConnection con;
try {
URL url = new URL("http://timme7893.nl/CardGame/GameData.txt");
con = url.openConnection();
con.connect();
is =con.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String line = null;
while ((line = br.readLine()) != null) {
// System.out.println(line);
array.add(line);
}
is.close();
is = null;
br.close();
} catch (IOException e) {
e.printStackTrace();
}
return array;
}
我的问题:如何清除或刷新输入流,以便我的 ArrayList 获得正确的数据?
首先,清除列表。 list.clear();
或者标记输入流然后重置。 is.mark(0); is.reset();
也分析这一行:is =con.getInputStream();
它总是得到相同的输入流。
还有一个提示,请在 finally 块中关闭您的连接。