import java.io.*;
public class test { public static void main(String[] args) {
int b=0;
FileInputStream f=null;
try{
f=new FileInputStream("D:/test.txt");
}catch(FileNotFoundException e){
System.out.println("file not found");
System.exit(-1);
}
try{
long num=0;
while((b=f.read())!=-1)
{
System.out.print((char)b);
num++;
}
System.out.println();
System.out.println("一共读取:"+num+"字节");
}catch(IOException e){
System.out.print("file read error!");
System.exit(-1);
}
}}该程序为读取txt文件中的内容然后输出txt文件内容:
123456asdfadsf
asdfadsf
ergtsdfsdfg
sdfgs
fgsdfgs
泥输入内容为:
123456asdfadsf
asdfadsf
ergtsdfsdfg
sdfgs
fgsdfgs
?à
一共读取:57字节
FileInputStream 中的read()方法 :从此输入流中读取一个数据字节。而java中的字符用的是unicode编码的,每个字符都是用两个字节表示的 我的问题是: 用read()方法读取一个字节后 然后输出 为什么不会出错?例如 我读取'a'这个字符的话 'a'=\u0097 读了前面一个字节 00 然后输出 00 相应的字符 ,然后读取 97 再输入97相应的字符'a' 这个是我的想法 可是出来的结果却不是这样的 而只有那个中文字 才会输出两个字符,望各位大神解答。 谢谢
import java.io.*;
public class test { public static void main(String[] args) {
int a=0;
System.out.println((char)a);
}}
单独打印0 怎么出现了个正方形 还有程序的输出应该多一倍的字符(小正方形) 可是为什么没有的?
import java.io.*;
public class test { public static void main(String[] args) {
int a=0;
System.out.println((char)a);
}}
单独打印0 怎么出现了个正方形 还有程序的输出应该多一倍的字符(小正方形) 可是为什么没有的?
我查了一下,ascii码中00表示null,什么都没有,输出的小方框,我感觉是eclipse工具显示的原因。小方框没有对应的ascii码。倒是在乱码的时候经常出现。
import java.io.*;
public class test { public static void main(String[] args) {
int a=0;
System.out.println((char)a);
}}
单独打印0 怎么出现了个正方形 还有程序的输出应该多一倍的字符(小正方形) 可是为什么没有的?
我查了一下,ascii码中00表示null,什么都没有,输出的小方框,我感觉是eclipse工具显示的原因。小方框没有对应的ascii码。倒是在乱码的时候经常出现。
说得太对了 !!! thanks 我也刚刚想到了 哈哈哈哈哈 感谢你啊!! 突然觉得很爽的赶脚