bos.close();
fos.close();
is.close();
----------如何转换为字符再写入到本地文件中
URL url = new URL("https://www.taobao.com");
InputStream is = url.openStream();//字节流
//三种支持汉字的编码方式: gbk utf-8 gb2312
InputStreamReader isr = new InputStreamReader(is,"utf-8");
BufferedReader br = new BufferedReader(isr);
File file = new File("f:\\图片\\taobao1.html");
FileWriter fw = new FileWriter(file);
BufferedWriter bw = new BufferedWriter(fw);
String str = null;
while((str=br.readLine())!=null){//从服务器读取一行
bw.write(str);//将该行写入到本地文件中
bw.flush();//刷新
}
bw.close();
// fw.close();
字符流
一:读
1、一个字符一个字符的读
FileReader fr = new FileReader(file);
int n = 0;
while((n=fr.read())!=-1){
System.out.println((char)n);相比字节流 哪怕是一个一个读 也能读出中文
}
fr.close();
2、一行一行的读:我们聊天也是一行一行的发送 不是一个字一个字的发送
File file = new File("f:\\图片\\6.txt");
FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
String str = null;
while((str = br.readLine())!=null){
System.out.println(str);
}
br.close();
fr.close();
二:写
过两天的聊天:我将一个东西写到网络上,通过网络把数据传给对方 对方读取我的内容 所以先讲io再讲网络聊天
1、不能换行
File file = new File("f:\\图片\\6.txt");
FileWriter fw = new FileWriter(file); fw.write("我想你了");
fw.write("但是每次我都不敢打扰你"); fw.close();
System.out.println("呵呵");
2、实现换行
Scanner mys = new Scanner(System.in);
File file = new File("f:\\图片\\6.txt");
FileWriter fw = new FileWriter(file);
BufferedWriter bw = new BufferedWriter(fw);
while(true){
System.out.println("请输入你要保存的内容:");
String str = mys.next();
bw.write(str);
bw.flush();//务必记得刷新缓冲区
bw.newLine();//新起一行
if(str.equals("exit")){
break;
}
}
bw.close();
fw.close();
三、net网络
1.获取自己的电脑
InetAddress inet = InetAddress.getLocalHost();
System.out.println(inet.getHostName());
2.获取局域网中别人的电脑
InetAddress inet = InetAddress.getByName("192.168.1.55");
3.获取互联网中的电脑
url:统一资源定位符 域名:www.baidu.com http:超文本传输协议
URL url = new URL("https://www.taobao.com");
InputStream is = url.openStream();//字节流
File file = new File("f:\\图片\\taobao.html");
FileOutputStream fos = new FileOutputStream(file);
BufferedOutputStream bos = new BufferedOutputStream(fos);
int n = 0;
while((n = is.read())!=-1){//每次从服务器读取一个字节
bos.write(n);//将数据写入本地
bos.flush();//刷新
}
// br.close();
// isr.close();
// is.close();
一、字符流:
Reader类
|---FileReader类
|---BufferedReader类
Writer类
|---FileWriter类
|---BufferedWriter类
二、网络(.net包)
1.获取自己电脑:
–InetAddress.getLocalHost()
2.获取局域网中别人的电脑
–InetAddress.getByName(“ip地址”);
3.***获取互联网中的电脑***
--URL url = new URL(例如百度);
InputStream is = url.openStream();
思路:先从对应服务器中读取数据 再将数据写入到本地文件中(边读边写的原则)
三、将字节流转换为字符流
–利用桥梁:InputStreamReader
注意:将字节流转换为字符流的过程中,可能会发生乱码的情况,需要设置编码方式,支持中文的编码方式只有3种,分别是:gbk utf-8 gb2312