在java中,如何从文件流中读入一个个汉字,不许用readLine方法

2024-12-26 10:16:49
推荐回答(2个)
回答1:

指定字符集,GB2312
InputStreamReader(InputStream in,GB2312)
具体方法我就不给你实现了~
有问题再问我吧~
-----------------------------------------------------------
不好意思现在才给你,刚才洗了个澡~
代码给你贴出来了,你看符合你的要求不~
有问题随时问我,知道的都告诉你~
-----------------------------------------------------------
import java.io.*;
//先在你要编译的当前文件夹下建一个文本,里面给定你要写的内容,文件名为a.txt
public class ReadTest{
public static void main(String[] args){
DataInputStream din = null;
try{
//定义一个输入流,把当前文件夹下的a.txt里的内容以GB2312字符集读出
InputStreamReader is = new InputStreamReader(new FileInputStream("a.txt"),"GB2312");
String str1 = "";
String str2 = "";
//循环读每一个字符,并连接在一个字符串str1上
int i =-1;
while ((i = is.read()) != -1)
{
char m = (char)i;
str2=str2.valueOf(m);
str1 = str1+str2;
}
//对字符串我还是给你做了简单的操作,你可以根据自己的要求修改
str1 = str1.replaceAll(",","\n");//把所有逗号替换为 换行(标点为全角)
str1 = str1.replaceAll("。","\n");//把所有句号替换为 换行

System.out.println(str1); //打印输出
}catch(FileNotFoundException e){//异常捕获
e.printStackTrace();
}
catch(IOException e){
e.printStackTrace();
}
finally{//最终行为---关闭流~
try{
if (din != null){
din.close();
}
}catch(IOException e){
e.printStackTrace();
}
}
}
};

回答2:

汉字说白了也是字符。不用readline方法的话,可以使用其他的reader,inputstream方法,具体你可以参考java的i/o操作
ex:BufferInputStream b=BufferInputStream(new InputStream());