InputStream输入流的问题 读取一个txt类型的文件,文件里有很多行数据,我想把每行的数据添加到数组里,这样怎么实现?例如:txt文件的内容是:123045678923String[] str={"1230","456","78923"};怎么把这些数据按行保存到数组里? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Read this:http://blog.csdn.net/justinavril/archive/2008/08/06/2775767.aspx 使用readLine(),得到每一行,String str =- in.readLine(); 然后把str给数组的每个元素 可以用楼上的方法~还有一种就是判断换行~java中有一个方法可以判断换行的~如果换行就读取到数组的下一个对象中~ 好象方法海了去,用readLine()、FileReader()、DataInputStream()等等都行 File file=new File("你的文件路径"); try { FileReader fileread=new FileReader(file); BufferedReader br=new BufferedReader(fileread); String readStr=""; readStr=br.readLine(); List str=new ArrayList(); while (readStr!=null) { str.add(readStr); readStr=br.readLine(); } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); }catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } 使用readLine(),得到每一行,String str =- in.readLine(); 然后把str给数组的每个元素 楼上的各位,你们回贴太不负责任了.楼主问的是InputStream 的问题, InputStream有readLine()方法吗?告诉你们,它只有read()方法.....import java.io.File;import java.io.FileInputStream;import java.io.InputStream;public class Test1 { /** * @param args */ public static void main(String[] args) { try { InputStream is = new FileInputStream(new File("C:\\test.txt")); StringBuffer sb = new StringBuffer(); while(is.available()>0){ int data = is.read(); sb.append((char)data); } String[] str = sb.toString().split("\\n"); } catch (Exception e) { e.printStackTrace(); } }} while(is.available()>0){ int data = is.read(); sb.append((char)data); } InputStreamReader isr = new InputStreamReader(inputfile,"MS932"); BufferedReader buf = new BufferedReader(isr); String inputLine = null; while((inputLine=buf.readLine())!=null){ 把每一行写到你的数组里 } List<String> list=new ArrayList<String>();String str=*.readLine();while(str!=null){list.add(*.readline());}String[] str=(String[])list.ToArray(); import java.io.BufferedReader;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStreamReader;import java.io.UnsupportedEncodingException;import java.util.LinkedList;import java.util.List;public class IObase { public static void main(String[] args) { final String CHARSET = "gb2312"; final String PATH = "D:/IObase.java"; String[] data = null; BufferedReader br = null; try { br = new BufferedReader(new InputStreamReader(new FileInputStream(PATH), CHARSET)); List<String> list = new LinkedList<String>(); String line = null; while ((line = br.readLine()) != null) { list.add(line); } data = list.toArray(new String[list.size()]); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { if (br != null) { try { br.close(); } catch (IOException e) { e.printStackTrace(); } } } int i = 0; for (String s : data) { System.out.printf("%1$6d: %2$s\n", ++i, s); } }} java.io.*使用FileReader 的readLine()方法就可以了 [swing]定制边框? Swing中怎么样在去实现检索到的关键字全部都被选中的效果 写了个小程序,出错查不出来 请高手指点下是学.NET好呢。还是学JAVA好啊! 问一个变量共享的问题! 有没有高手知道,用什么方法可以得到mp3文件的信息。 时间相减的问题?急哦~ 写程序时遇到的“面向接口编程”的问题,请帮忙。 JComponent怎么产生一个新的实例? 通过JNDI,我在2000server上建了一个用户,可是不能设置他的密码。。 问一个小白问题 问两个基础问题,请帮忙看一下~
FileReader fileread=new FileReader(file);
BufferedReader br=new BufferedReader(fileread);
String readStr="";
readStr=br.readLine();
List str=new ArrayList();
while (readStr!=null) {
str.add(readStr);
readStr=br.readLine();
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
使用readLine(),得到每一行,String str =- in.readLine(); 然后把str给数组的每个元素
import java.io.FileInputStream;
import java.io.InputStream;
public class Test1 { /**
* @param args
*/
public static void main(String[] args) {
try {
InputStream is = new FileInputStream(new File("C:\\test.txt"));
StringBuffer sb = new StringBuffer();
while(is.available()>0){
int data = is.read();
sb.append((char)data);
}
String[] str = sb.toString().split("\\n");
} catch (Exception e) {
e.printStackTrace();
}
}
}
int data = is.read();
sb.append((char)data);
}
BufferedReader buf = new BufferedReader(isr);
String inputLine = null;
while((inputLine=buf.readLine())!=null){
把每一行写到你的数组里
}
String str=*.readLine();
while(str!=null)
{
list.add(*.readline());
}
String[] str=(String[])list.ToArray();
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.util.LinkedList;
import java.util.List;
public class IObase { public static void main(String[] args) {
final String CHARSET = "gb2312";
final String PATH = "D:/IObase.java";
String[] data = null;
BufferedReader br = null;
try {
br = new BufferedReader(new InputStreamReader(new FileInputStream(PATH), CHARSET));
List<String> list = new LinkedList<String>();
String line = null;
while ((line = br.readLine()) != null) {
list.add(line);
}
data = list.toArray(new String[list.size()]);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (br != null) {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
int i = 0;
for (String s : data) {
System.out.printf("%1$6d: %2$s\n", ++i, s);
}
}}
使用FileReader 的readLine()方法就可以了