FileInputStream fis = new FileInputStream("D:\\输入文本.txt");
BufferedInputStream bis = new BufferedInputStream(fis);
InputStreamReader isr = new InputStreamReader(bis);
StringBuffer sb = new StringBuffer();
char ch = 0;
while((int)ch != -1){
ch = (char)isr.read();
System.out.println("read "+isr.read());
sb.append(ch);
}
System.out.println("sb = "+sb);
这是我想用的一种方式 但是int转char时丢失精度的问题我不会解决
原来还试过直接存入一个char[] 但是InputStreamReader好像不提供返回字符流长度的方法就放弃了
问题1:上面这段代码的方法是否可行?若可行该怎样修改?
问题2:字符流有能返回长度的方法么?
问题3:还有更简便的方法用IO流读入一个txt中的字符串么?
本人新手上路 先多谢各位指教了
BufferedInputStream bis = new BufferedInputStream(fis);
InputStreamReader isr = new InputStreamReader(bis);
StringBuffer sb = new StringBuffer();
char ch = 0;
while((int)ch != -1){
ch = (char)isr.read();
System.out.println("read "+isr.read());
sb.append(ch);
}
System.out.println("sb = "+sb);
这是我想用的一种方式 但是int转char时丢失精度的问题我不会解决
原来还试过直接存入一个char[] 但是InputStreamReader好像不提供返回字符流长度的方法就放弃了
问题1:上面这段代码的方法是否可行?若可行该怎样修改?
问题2:字符流有能返回长度的方法么?
问题3:还有更简便的方法用IO流读入一个txt中的字符串么?
本人新手上路 先多谢各位指教了
BufferedReader read = new BufferedReader(new FileReader(new File("c:\\a.txt")));
String line = read.readLine();while(line!=null){
//在这里处理line里的内容,每次都是读取一行
line = read.readLine();
}
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("*.txt")));
String s = br.readLine();
你可以查一下API文档,那个BufferedReader中的管道有个readLine方法,挺好用的,用的很多啊!
public static void main(String[] args) {
try {
FileReader fr=new FileReader("C:\\java.txt");
BufferedReader br=new BufferedReader(fr);
String str=br.readLine();
while(str!=null){
System.out.println(str);
str=br.readLine();
}
br.close();
fr.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
InputStream 方法:
public static void main(String[] args){
try {
String dir="c:\\java.txt";
InputStream file=new FileInputStream(dir);
char[] text=new char[file.available()];
for(int i=0;i<text.length;i++){
text[i]=(char)file.read();
System.out.print(text[i]);
}
file.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
两种方都有自己的好处,如果把文章直接显示的用BufferedReader好,如果要对文件中的字段进行判断的话要用InputStream好些……