IO流读写

基本功能:

  1. 新建文件
  2. 查看列表
  3. 写文件
  4. 删除文件
  5. 查看文件

导入的包:

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Scanner;
import javax.swing.plaf.synth.SynthSeparatorUI;

下面新建一个类,然后在main函数里初始化一个方法,方法中用if来判断输入的值所相对应的功能板块。

 public static void main(String[] args) {init();//初始化方法}public static void init(){Scanner in = new Scanner(System.in);boolean flag = true;System.out.println("========小说系统=======");while(flag){System.out.println("请选择:1  新建文件    2  查看文件列表    3  写文件   4  删除文件   5 查看文件内容   6 退出");int i = in.nextInt();if(i == 1){//新建流程createFile(in);}else if(i == 2){//查看文件列表showFiles();}else if(i == 3){//写文件writeFile(in);}else if(i == 4){//删除文件removeFile(in);}else if(i == 5){//查看文件内容showFileContent(in);}else if(i == 6){//退出flag = false;}}}

下面我会对每个板块的功能进行描述:
1.新建功能

//新建文件的方法public static void createFile(Scanner in){System.out.println("请输入文件名称:");//给文件命名String filename = in.next();//这里的文件夹自己创建或者自己定义就好File f = new File("e://io/"+filename+".txt");   try {f.createNewFile();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}   }

2.查看文件下的所有文件方法:

//查看文件列表的方法;public static void showFiles(){File file = new File("E://io");//获取指定文件夹下的文件数组的特定方法File[] files = file.listFiles();//遍历文件夹下的所有文件名for(File f:files){System.out.println(f.getName());}}

3.写文件内容的方法

//写文件方法public static void writeFile(Scanner in){System.out.println("请输入要写的文件的名称:");String filename=in.next();System.out.println("请输入信息:");String content=in.next();           try {BufferedOutputStream out=null;out=new BufferedOutputStream(new FileOutputStream("e://io/"+filename+".txt",true));out.write(("\r\n\t "+content).getBytes());//缓存流需要注意flush方法的使用,flush方法可在缓存区未满的情况下,将缓存内容写出到外部设备中out.flush();out.close();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}

4.删除文件

//删除文件方法public static void removeFile(Scanner in){System.out.println("请输入你要删除的文件名:");String filename = in.next();File f = new File("e://io/"+filename+".txt");if(f.exists()){//判断文件是否存在boolean b = f.delete();if(b){System.out.println("文件删除成功");}}else{System.out.println("请重新选择主菜单");}   }

5.查看文件内容的方法:

//查看文件内容的方法public static void showFileContent(Scanner in){System.out.println("请输入文件名字:");String filename = in.next();try {BufferedInputStream bufferedInput = null;bufferedInput = new BufferedInputStream(new FileInputStream("e://io/"+filename+".txt"));int n;byte[] buffer = new byte[1024];String chunk = null;// read():读入一个字节,当有中文的时候不可用,所以这里用数组来存每一个字符,最后转成字符串输出// 从文件中按字节读取内容,到文件尾部时read方法将返回-1while ((n = bufferedInput.read(buffer)) != -1) {chunk = new String(buffer, 0, n);System.out.print(chunk);}bufferedInput.close();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}

6.全部源码

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Scanner;import javax.swing.plaf.synth.SynthSeparatorUI;public class System {public static void main(String[] args) {init();//初始化方法}public static void init(){Scanner in = new Scanner(System.in);boolean flag = true;System.out.println("========欢迎使用双体系小说系统=======");while(flag){System.out.println("请选择:1  新建文件    2  查看文件列表    3  写文件   4  删除文件   5 查看文件内容   6 退出");int i = in.nextInt();if(i == 1){//新建流程createFile(in);}else if(i == 2){//查看文件列表showFiles();}else if(i == 3){//写文件writeFile(in);}else if(i == 4){//删除文件removeFile(in);}else if(i == 5){//查看文件内容showFileContent(in);}else if(i == 6){//退出flag = false;}}}//新建文件的方法public static void createFile(Scanner in){System.out.println("请输入文件名称:");//给文件命名String filename = in.next();File f = new File("e://io/"+filename+".txt");try {f.createNewFile();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}   }//查看文件列表的方法;public static void showFiles(){File file = new File("E://io");File[] files = file.listFiles();//获取指定文件夹下的文件数组for(File f:files){System.out.println(f.getName());}}//写文件方法public static void writeFile(Scanner in){System.out.println("请输入要写的文件的名称:");String filename=in.next();System.out.println("请输入信息:");String content=in.next();           try {BufferedOutputStream out=null;out=new BufferedOutputStream(new FileOutputStream("e://io/"+filename+".txt",true));out.write(("\r\n\t "+content).getBytes());//缓存流需要注意flush方法的使用,flush方法可在缓存区未满的情况下,将缓存内容写出到外部设备中out.flush();out.close();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}//删除文件方法public static void removeFile(Scanner in){System.out.println("请输入你要删除的文件名:");String filename = in.next();File f = new File("e://io/"+filename+".txt");if(f.exists()){//判断文件是否存在boolean b = f.delete();if(b){System.out.println("文件删除成功");}}else{System.out.println("请重新选择主菜单");}   }//查看文件内容的方法public static void showFileContent(Scanner in){System.out.println("请输入文件名字:");String filename = in.next();try {BufferedInputStream bufferedInput = null;bufferedInput = new BufferedInputStream(new FileInputStream("e://io/"+filename+".txt"));int n;byte[] buffer = new byte[1024];String chunk = null;// read():读入一个字节// 从文件中按字节读取内容,到文件尾部时read方法将返回-1while ((n = bufferedInput.read(buffer)) != -1) {chunk = new String(buffer, 0, n);System.out.print(chunk);}bufferedInput.close();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}
}

注:当然啦,只是实现了基本的功能,对于一些细节没有处理,比如输入的时候如果有字符怎么处理等情况。这里也只限制于在正常情况下的输入输出。

基于java的IO流的文件读取系统相关推荐

  1. 解决关于java的IO流进行文件拷贝时拒绝访问的问题

    解决关于java的IO流进行文件拷贝时拒绝访问的问题 1.在学习java IO流的时候,想进行文件的自动拷贝功能,我的代码是在idea中编写的,编写没有报红,但是运行时却出现了java.io.File ...

  2. Java以IO流和文件流,生成、下载二维码

    场景 在系统中生成一个二维码,用户保存下来并分享出去,其他人扫描之后跳到我们的一个活动详情页,查看此活动的内容. 从以上的需求中,可以提炼出以下几点: 当用户点击生成二维码的时候,我们要拿到用户生成的 ...

  3. io流的文件读取和写入

    //文件读取和写入 // File file=new File(路径); // try { // //文件读取 // FileInputStream fis=new FileInputStream(f ...

  4. java io字符输出流_【Java的IO流之文件字符输入输出流 25】

    一.FileReader:读取字符流:FileWriter:写入字符流 字符流可以读取和写入汉字和英文,字节流不能读取和写入汉字 二.FileReader流 1.常用的构造方法 FileReader( ...

  5. java输出流输入流的使用_Java中的IO流之文件输入输出流

    Java中的IO流之文件输入输出流 1.文件流介绍 文件流是以字节为单位进行读写文件的,所以属于字节流,并且是低级流.文件流位于java.io包下. 输入输出流分别是FileInputSteam和Fi ...

  6. java io流 教程_Java基础教程:IO流与文件基础

    Java:IO流与文件基础 说明: 本章内容将会持续更新,大家可以关注一下并给我提供建议,谢谢啦. 走进流 什么是流 流:指的是从源到目的地的字节的有序序列. 在Java中,可以从其中读取一个字节序列 ...

  7. Java基础教程:IO流与文件基础

    Java:IO流与文件基础 说明: 本章内容将会持续更新,大家可以关注一下并给我提供建议,谢谢啦. 走进流 什么是流 流:从源到目的地的字节的有序序列. 在Java中,可以从其中读取一个字节序列的对象 ...

  8. Java io流---拷贝文件夹下的所有文件和目录

    Java io流-拷贝文件夹下的所有文件和目录 代码: package demo01;import java.io.*; import java.util.TreeMap;public class C ...

  9. java io流复制文件简单实例

    java io流复制文件简单实例 实例1: package com.io;import java.io.BufferedInputStream; import java.io.BufferedOutp ...

最新文章

  1. Java Spring MVC项目搭建(三)——“Hello World”
  2. Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
  3. 欢迎来到 C# 9.0(Welcome to C# 9.0)
  4. vue预加载动态生成runtime.js_预渲染 prerender-spa-plugin 避坑指南
  5. unix高级环境编程-基础知识
  6. 15年大厂经历!大佬总结:0基础如何学习Python?
  7. asp.net ReportViewer 设置 rdlc textbox的值
  8. [单反六]查看快门数
  9. 95-190-032-源码-window-CountWindow
  10. 令人惊奇的FLEX 3D UI.
  11. Go语言基础进阶—程序结构—包和文件
  12. Spring Boot 如何获取 Controller 方法名和注解信息?
  13. linux如何回到下一级,linux如何返回上一级目录
  14. 计算机论文研究思路怎么写,论文的研究思路模板范文 课题研究思路怎么写
  15. 爬取站大爷的免费ip代理
  16. 冬天跑步比夏天跑步减肥更快 冬天跑步减肥冷怎么办
  17. 瀚高数据库不定时停库
  18. 关键字 surper 和 this
  19. WPS C++ 二次开发 Demo运行
  20. 通过浏览器访问服务器

热门文章

  1. React 组件之间 事件调用(父组件调用子组件)
  2. HDU 5734 Acperience
  3. 利用nginx+tomcat+memcached组建web服务器负载均衡
  4. 影响HP服务器的磁盘性能的重要因素 -- 阵列卡的缓存和电池
  5. xilinx生成mcs,下载flash问题解决方法
  6. oracle bom层级sql,oracle bom_tree.sql
  7. 怎么把位域合成一个字节_C语言中字节对齐和位域
  8. 爬取知乎“凡尔赛语录”话题下的所有回答,我知道点开看你的很帅气,但还是没我帅
  9. oracle10g sql跟踪,SQL性能的度量 - 语句级别的SQL跟踪autotrace
  10. 微软宣布 Power Fx 开源