关于FileOutputStream(上)

老师,这个fis.read()不是只读取一个字节码,怎么50不是2个字节吗
4
收起
正在回答 回答被采纳积分+1
2回答
好帮手慕小班
2019-07-26 19:04:08
同学你好,这里老师写了一个小例子,将50放在一个字符串中,写入和读取都是以一个字符串为例,同学在学习了后面的内容后,就可以理解这个例子!这里只是参考一下哦,例如:
public class ReaderDemo {
public String transReadByBuf(String s) {
FileInputStream fis = null;
try {
fis = new FileInputStream(s);
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
InputStreamReader isr = new InputStreamReader(fis);
BufferedReader br = new BufferedReader(isr);
int n = 0;
String s1 = "";
try {
while ((n = br.read()) != -1) {
char c = (char) n;
s1 = s1 + String.valueOf(c);
}
System.out.println(s1);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
fis.close();
br.close();
isr.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return s1;
}
public static void transWriteByBuf() {
FileOutputStream fos = null;
BufferedOutputStream bos = null;
OutputStreamWriter osw = null;
try {
fos = new FileOutputStream("hello.txt");
bos = new BufferedOutputStream(fos);
osw = new OutputStreamWriter(bos);
String str = "你好吗?50我很好谢谢";
osw.write(str);
//osw.flush();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
osw.close();
bos.close();
fos.close();
//bos.close();
//osw.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public static void main(String[] args) {
transWriteByBuf();
String s="hello.txt";
ReaderDemo readerDemo = new ReaderDemo();
readerDemo.transReadByBuf(s);
}
}运行效果为:

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
1. Java 零基础入门
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程


恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星