how2j.cn


工具版本兼容问题
什么是流(Stream),流就是一系列的数据


本视频是解读性视频,所以希望您已经看过了本知识点的内容,并且编写了相应的代码之后,带着疑问来观看,这样收获才多。 不建议一开始就观看视频



3分16秒
本视频采用html5方式播放,如无法正常播放,请将浏览器升级至最新版本,推荐火狐,chrome,360浏览器。 如果装有迅雷,播放视频呈现直接下载状态,请调整 迅雷系统设置-基本设置-启动-监视全部浏览器 (去掉这个选项)。 chrome 的 视频下载插件会影响播放,如 IDM 等,请关闭或者切换其他浏览器



步骤 1 : 什么是流   
步骤 2 : 文件输入流   
步骤 3 : 练习-流   
步骤 4 : 答案-流   

当不同的介质之间有数据交互的时候,JAVA就使用流来实现。
数据源可以是文件,还可以是数据库,网络甚至是其他的程序


比如读取文件的数据到程序中,站在程序的角度来看,就叫做输入流
输入流: InputStream
输出流:OutputStream
什么是流
如下代码,就建立了一个文件输入流,这个流可以用来把数据从硬盘的文件,读取到JVM(内存)。

目前代码只是建立了流,还没有开始读取,真正的读取在下个章节讲解。
package stream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; public class TestStream { public static void main(String[] args) { try { File f = new File("d:/lol.txt"); // 创建基于文件的输入流 FileInputStream fis = new FileInputStream(f); // 通过这个输入流,就可以把数据从硬盘,读取到Java的虚拟机中来,也就是读取到内存中 } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
参考文件输入流的建立,建立一个文件输出流
在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
查看本答案会花费2个积分,您目前总共有点积分。查看相同答案不会花费额外积分。 积分增加办法 或者一次性购买JAVA 中级总计0个答案 (总共需要0积分)
查看本答案会花费2个积分,您目前总共有点积分。查看相同答案不会花费额外积分。 积分增加办法 或者一次性购买JAVA 中级总计0个答案 (总共需要0积分)
账号未激活 账号未激活,功能受限。 请点击激活
本视频是解读性视频,所以希望您已经看过了本答案的内容,带着疑问来观看,这样收获才多。 不建议一开始就观看视频

50秒 本视频采用html5方式播放,如无法正常播放,请将浏览器升级至最新版本,推荐火狐,chrome,360浏览器。 如果装有迅雷,播放视频呈现直接下载状态,请调整 迅雷系统设置-基本设置-启动-监视全部浏览器 (去掉这个选项)。 chrome 的 视频下载插件会影响播放,如 IDM 等,请关闭或者切换其他浏览器


package stream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; public class TestStream { public static void main(String[] args) { try { File f = new File("d:/lol.txt"); // 创建基于文件的输出流 FileOutputStream fos = new FileOutputStream(f); // 通过这个输出流,就可以把数据从内存,输出到硬盘的文件上 } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }


HOW2J公众号,关注后实时获知最新的教程和优惠活动,谢谢。


问答区域    
2020-08-17 什么时候用字节流,什么时候用字符流
565013424xhy

初学者的我有点懵




12 个答案

Mao01234
答案时间:2024-09-24
图片,音频 视频 这些操作底层是二进制文件的 byte 字节使用字节流 如果文件是纯文本文件 建议用字符流 ,,字符流在处理非文本文件时可能乱码

hncj指尖风雨
答案时间:2024-01-18
package demo5; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.OutputStream; public class test2 { public static void main(String[] args) throws FileNotFoundException { File f2=new File("D:\\code\\HOW2jtest"); FileOutputStream os=new FileOutputStream(f2); } }

brookkk
答案时间:2022-10-21
如果数据所在的文件通过windows自带的记事本打开并能读懂里面的内容,就用字符流,其他用字节流。 OR 或者你什么也不知道,就用字节流!

芬达味橘猫
答案时间:2022-05-23
hoolich
答案时间:2022-03-31
package stream; /*参考文件输入流的建立,建立一个文件输出流 当不同的介质之间有数据交互的时候,JAVA就使用流来实现。 数据源可以是文件,还可以是数据库,网络甚至是其他的程序 比如读取文件的数据到程序中,站在程序的角度来看,就叫做输入流 输入流: InputStream 输出流:OutputStream*/ import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; public class TestStream { public static void main(String[] args) { try { File f = new File("d:/lol.txt"); // 创建基于文件的输入流 FileInputStream fis = new FileInputStream(f); // 通过这个输入流,就可以把数据从硬盘,读取到Java的虚拟机中来,也就是读取到内存中 } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { File f = new File("d:/lol.txt"); FileOutputStream fis = new FileOutputStream(f); // 通过这个输出流,就可以把数据从硬盘,读取到Java的虚拟机中来,也就是读取到内存中 } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }

小马虎
答案时间:2021-08-30
第一次认证的写代码,这个文件输入和输出流,以前还有一点记忆,自己也会在这个网站慢慢学习,加油

Ayuaa
答案时间:2021-08-18
package Vantage.practice2.Study2; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; public class MyClass { public static void main(String[] args) { try { File file = new File("HOW2J/src/Vantage/practice2/Study2/LOL.txt"); FileInputStream i_file = new FileInputStream(file); } catch (FileNotFoundException e){ e.printStackTrace(); } } }

Ljk11225
答案时间:2021-07-19
参考文件输入流的建立,建立一个文件输出流

KuroTT
答案时间:2021-07-16
字节输入InputStream、输出流OutputStream

大数据工程师
答案时间:2021-04-06
1、定义不同; 2、结尾不同; 3、处理方式不同; 4、缓冲区不同; 5、编码方式不同。 字节流 默认不使用缓冲区,而 字符流 使用缓冲区。 字节流 采用ASCII编码, 字符流 采用unicode编码。

zsy12345678902
答案时间:2020-11-17
字节流都可以用,字符只能对于是字符的文件吧

Taki_ra
答案时间:2020-09-03
数据是二进制的字节流,其他的字符流



回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到




2020-06-20 数据输入输出流
asdhiodhw




数据输入输出流
package file;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;

public class TestStream {
    public static void main(String[] args) {
        File f =new File("d:/lol.txt");
        try {
            FileOutputStream fos = new FileOutputStream(f);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }

    }
}

							


4 个答案

mucheng
答案时间:2023-11-11
起个名
答案时间:2021-05-29
输出

豆豆520
答案时间:2020-08-05
答案

a740998949
答案时间:2020-07-24
数据输出流 public class StreamLianXi { public static void main(String[] args) { //创建基于文件的输入流 File f = new File("C:/Users/MSI/Desktop/lol.txt"); try { if (f.exists()==false){ f.createNewFile(); } // 通过这个输入流,就可以把数据从硬盘,读取到Java的虚拟机中来,也就是读取到内存中 FileInputStream fis = new FileInputStream(f); System.out.println(fis); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } } class StreamLianXi1{ public static void main(String[] args) { //创建基于文件的输入流 File f = new File("C:/Users/MSI/Desktop/lo2.txt"); try { //通过这个输出流,就可以吧数据从java的虚拟机中读取到硬盘 FileOutputStream fis = new FileOutputStream(f); System.out.println(fis); } catch (FileNotFoundException e) { e.printStackTrace(); } } }



回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到





2020-02-28 文件输出流
2020-02-11 FileInputStream
2020-01-13 输入流的建立,建立一个文件输出流


提问太多,页面渲染太慢,为了加快渲染速度,本页最多只显示几条提问。还有 13 条以前的提问,请 点击查看

提问之前请登陆
提问已经提交成功,正在审核。 请于 我的提问 处查看提问记录,谢谢
关于 JAVA 中级-I/O-什么是流 的提问

尽量提供截图代码异常信息,有助于分析和解决问题。 也可进本站QQ群交流: 578362961
提问尽量提供完整的代码,环境描述,越是有利于问题的重现,您的问题越能更快得到解答。
对教程中代码有疑问,请提供是哪个步骤,哪一行有疑问,这样便于快速定位问题,提高问题得到解答的速度
在已经存在的几千个提问里,有相当大的比例,是因为使用了和站长不同版本的开发环境导致的,比如 jdk, eclpise, idea, mysql,tomcat 等等软件的版本不一致。
请使用和站长一样的版本,可以节约自己大量的学习时间。 站长把教学中用的软件版本整理了,都统一放在了这里, 方便大家下载: https://how2j.cn/k/helloworld/helloworld-version/1718.html

上传截图