如何判断是输入流还是输出流?
以内存为参照物,如果数据是向内存流动是输入流,反之则是输出流
java流分为两种流
1,字节流:可以用于读写二进制文件及任何类型文件byte
2,字符流:可以用于读写文件文本
字节流:输入(InputStream) 输出(OutputStream)
字符流:输入(Reader)         输出(writer)
import java.io.File;
import java.io.IOException;
public class Test1 {public Test1() {}
public void test1() {
// // 创建一个文件对象
// File ff = new File("F:\\aa.txt");
//  System.out.println("文件路径" + ff.getAbsolutePath());
//  System.out.println("文件大小" + ff.length());//  //创建一个文件和创建文件夹
//  File f=new File("f:\\fff\\hsp.txt");
//  if(!f.exists())
//  {
//   //可以创建
// try {
// f.createNewFile();
//} catch (IOException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
//}
//  }
//  else{
//
//   System.out.println("有文件");
//  }
//
//
// File fff=new File("f:\\fff");
// if(f.isDirectory())
// {
//  System.out.print("文件夹已存在");
// }
// else{//创建
//  fff.mkdir();
// }//列出文件夹所有文件File ffff=new File("F:\\123");if(ffff.isDirectory()){File list[]=ffff.listFiles();for(int i=0;i<list.length;i++){System.out.println("文件名"+list[i].getName());}}}
}package net.test2;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
//演示FileInputStreaam  读取文件内容
public class Demo11_2 {
//构造函数
public Demo11_2(){}
public void demo()
{File f=new File("F:/test.txt");FileInputStream fis=null;//因为File没有读写的能力,所以需要有个InputStreamtry {fis=new FileInputStream(f);//定义一个字节数组,相当于缓存byte []bytes=new byte[1024];int n=0;      //得到实际读取到的字节数//循环读取while((n=fis.read(bytes))!=-1){//把字节转成StringString s=new String(bytes,0,n);System.out.println(s);}} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{//关闭文件流必须放这里try {fis.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}
}
}package net.test3;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
//FileoutputStream的使用
public class Demo11_3 {
public Demo11_3(){}
FileOutputStream fos=null;
public void demo()
{File f=new File("f:/ss.txt");
try {fos=new FileOutputStream(f);String s="hello word"; //换行就是在字符末尾加上\r\nString s1="你好!";//定义字节数组byte []bytes=new byte[1024];//如何把string转化为bytes数组fos.write(s.getBytes());fos.write(s1.getBytes());} catch (Exception e) {// TODO: handle exception
}finally{try {fos.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}
}
}package net.test4;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class Demo12_4 {
public Demo12_4(){}
public void demo()
{//先把图片加入到内存——》写入某个文件//因为是二进制文件,只能用字节流完成
FileInputStream fis=null;
// 输出流
FileOutputStream fos=null;
try {fis=new FileInputStream("e:/照片/12.jpg");fos=new FileOutputStream("d:/12.jpg");//用byte存储二进制文件,,byte数组相当于缓存
byte buf[]=new byte[1024];
int n=0; //记录事迹读取到的字节数//循环读取
while((n=fis.read(buf))!=-1)
{//输出到指定文件夹fos.write(buf);}} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();
}finally
{try {fis.close();
} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();
}
}}
}package net.test5;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
//演示文件字符流
public class Demo2_5 {public static void main(String[] args) {// TODO Auto-generated method stub// 文件取出字符流对象(输入流)FileReader fr = null;// 写入到文件(输出流)FileWriter fw = null;try {//创建一个fr对象fr=new FileReader("d:/test.txt");fw=new FileWriter("d:/133/test.txt");int n=0; //用来记录事迹读取的字符数//读入到内存char c[]=new char[1024];while((n=fr.read(c))!=-1){
//    String s=new String(c,0,n);
//    System.out.println(s);fw.write(c,0,n);}} catch (Exception e) {// TODO: handle exception}finally{try {fr.close();fw.close();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}}
}package net.test6;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
//演示缓存字符流
public class Demo12_6 {public static void main(String[] args) {// TODO Auto-generated method stub
BufferedReader br=null;
BufferedWriter bw=null;
try {FileReader fr = new FileReader("d:/test.txt");br=new BufferedReader(fr);FileWriter fw=new FileWriter("d:/test1.txt");bw= new BufferedWriter(fw);//循环读取文件String s="";while((s=br.readLine())!=null){
//  System.out.println(s);bw.write(s+"\r\n");}} catch (Exception e) {// TODO: handle exception
}
finally{try {bw.close();br.close();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}
}}

Java文件流的原理与应用相关推荐

  1. java文件流插入数据库_使用Java流查询数据库

    java文件流插入数据库 在本文中,您将学习如何编写纯Java应用程序,这些应用程序能够处理现有数据库中的数据,而无需编写一行SQL(或类似的语言,例如HQL),而无需花费数小时将所有内容放在一起. ...

  2. java 文件流读取文本_如何在Java 8中处理流和读取文本文件

    java 文件流读取文本 我已经使用最新的Java8转换了一个旧的实用程序类. 我经常使用它来打印清单文件的内容,以检查任何神秘的jar文件的版本等.只需运行" java ztools.Pr ...

  3. 用几段代码搞定Java文件流

    Java文件流 File类篇 1.File类 在学习File类之前,需要知道的有以下两点: (1)File类是java.io包下的一个类 (2)应该将File理解成路径而不是文件 我们学习File,首 ...

  4. Java文件流输入输出

    文件流读入 import java.util.*; import java.io.*; public class Test {public static void main(String[] args ...

  5. Java文件流应用:剪切文件

    剪切的实际操作是: 第一步,先复制文件到指定位置, 第二步,删除原文件,这样就实现了剪切 与复制文件相比,多了一步删除文件 注意:删除文件必须在流关闭后,才能删除,否则,删除不了. 实例代码 pack ...

  6. Java文件流应用:复制文件

    文件复制步骤 代码: package 文件流应用复制文件;import java.io.File; import java.io.FileInputStream; import java.io.Fil ...

  7. java 文件流的处理 文件打包成zip

    1.下载文件到本地 public void download(HttpServletResponse response){String filePath ="";//文件路径Str ...

  8. java文件流下载excel_React获取Java后台文件流下载Excel文件

    记录使用blob对象接收java后台文件流并下载为xlsx格式的详细过程,关键部分代码如下. 首先在java后台中设置response中的参数: public void exportExcel(Htt ...

  9. Java 文件流操作.,互联网 面试官 如何面试

    写在最前面,我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家.扫码加微信好友进[程序员面试学习交流群],免费领取.也欢迎各位一起在群里探讨技术. 一. ...

最新文章

  1. Android_View_得到Activity
  2. 域客户端如何定位并登录域控制器
  3. 工厂方法(父类定义创建对象的接口,通过多态让子类来创建具体的对象)
  4. Python多线程下载网络URL图片的方法
  5. PriorityBlockingQueue源码
  6. AV1,实时编码READY
  7. html 图片变灰,科技常识:css使图片变灰的实现方法
  8. Docker swarm 笔记
  9. vue 父组件与子组件之间的传值(主动传值)
  10. html动态网页效果代码_教你制作网页的第一步
  11. Item 添加事件 list grally等
  12. 学习linux/unix编程方法的建议[转]
  13. Java 实验5 T4 检验字符串是否合法
  14. Silverlight语音朗读
  15. 垃圾处理设备远程调试远程运维方案
  16. 十字路口旁边有一个路口_观察路口观察员
  17. Kubernetes(K8s)学习笔记(一)
  18. 【模型5.0】幸福sharp模型:让优势带动劣势
  19. 详细介绍SWFUpload
  20. Nhanes临床数据库挖掘教程1----数据库下载

热门文章

  1. 决策树ID3和C4.5
  2. vsftpd创建本地yum仓库如何放在有账户密码验证上
  3. JavaScriptjQuery.带参数的函数
  4. C/C++内存问题检查利器—Purify (二)
  5. 解决Maven的Could not resolve archetype org.apache.maven.archetypes:maven-archetype-quickstart
  6. python binascii模块详解
  7. Oracle数据库的DDL操作
  8. 一步一步使用Ext JS MVC与Asp.Net MVC 3开发简单的CMS后台管理系统之创建项目
  9. 企业或将借助OA走出经济危机
  10. EASYSIZE备份