java 输入输出
importjava.io.*;publicclassAsd{publicstaticvoidmain(String[]args)throwsIOException{St...
import java.io.*;
public class Asd{ public static void main(String[] args)throws IOException {
String s;
BufferedReader in = new BufferedReader(new FileInputStream("e:\\abc.txt"));
s=in.readLine();
while(!s.equals("exit"))
{
System.out.println(s);
s=in.readLine();
}
System.out.println("完成");
in.close();
}
} 展开
public class Asd{ public static void main(String[] args)throws IOException {
String s;
BufferedReader in = new BufferedReader(new FileInputStream("e:\\abc.txt"));
s=in.readLine();
while(!s.equals("exit"))
{
System.out.println(s);
s=in.readLine();
}
System.out.println("完成");
in.close();
}
} 展开
4个回答
展开全部
BufferedReader 参数应该是字符流
而FileInputStream是字节流, lz看下帮助文档这个几个类的继承关系就可以了
改成 BufferedReader in = new BufferedReader(new FileReader("e:\\abc.txt"));就可以了
readline() 读取的是每行的数据 返回null表示结束
给你个范例看看
package com.buffer;
import java.io.*;
public class TestBuffer {
public static void main(String[] args) {
// TODO Auto-generated method stub
File f = new File("f:\\file_1.txt");
File fc = new File("f:\\file_1_cpy.txt");
FileReader fr = null ;
FileWriter fw = null;
BufferedReader br = null;
BufferedWriter bw = null;
try {
//先创建一个FileReader对象
fr = new FileReader(f);
br = new BufferedReader(fr);
fw = new FileWriter(fc);
bw = new BufferedWriter(fw);
//循环读取
String s = "";
while((s = br.readLine()) != null) {
//System.out.println(s);
bw.write(s + "\r\n");
}
} catch(Exception e) {
e.printStackTrace();
} finally {
try {
fr.close();
br.close();
//fw如果不关闭,不能写入数据
bw.close();
fw.close();
} catch(Exception e) {
e.printStackTrace();
}
}
}
}
而FileInputStream是字节流, lz看下帮助文档这个几个类的继承关系就可以了
改成 BufferedReader in = new BufferedReader(new FileReader("e:\\abc.txt"));就可以了
readline() 读取的是每行的数据 返回null表示结束
给你个范例看看
package com.buffer;
import java.io.*;
public class TestBuffer {
public static void main(String[] args) {
// TODO Auto-generated method stub
File f = new File("f:\\file_1.txt");
File fc = new File("f:\\file_1_cpy.txt");
FileReader fr = null ;
FileWriter fw = null;
BufferedReader br = null;
BufferedWriter bw = null;
try {
//先创建一个FileReader对象
fr = new FileReader(f);
br = new BufferedReader(fr);
fw = new FileWriter(fc);
bw = new BufferedWriter(fw);
//循环读取
String s = "";
while((s = br.readLine()) != null) {
//System.out.println(s);
bw.write(s + "\r\n");
}
} catch(Exception e) {
e.printStackTrace();
} finally {
try {
fr.close();
br.close();
//fw如果不关闭,不能写入数据
bw.close();
fw.close();
} catch(Exception e) {
e.printStackTrace();
}
}
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
BufferedReader in = new BufferedReader(new FileInputStream("e:\\abc.txt"));
这句是从字节流构建缓冲流,连接到e:\\abc.txt
其他的好有什么问题吗?
这句是从字节流构建缓冲流,连接到e:\\abc.txt
其他的好有什么问题吗?
更多追问追答
追问
通不过啊
追答
BufferedReader的参数应该是FileReader
可以改为BufferedReader in =new BufferedReader(new FileReader("e:\\abc.txt"));
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
String s = "";或者 String s = null;
定义在main函数中的变量必须赋初值
定义在main函数中的变量必须赋初值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
程序有什么问题吗?
追问
通不过 啊
追答
BufferedReader,没有那样的构造函数。所以编译不通过!
BufferedReader in = new BufferedReader(new FileInputStream("e:\\abc.txt"));
改为
BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream("e:\\abc.txt")));
就ok了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询