博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java输入输出处理技术1
阅读量:6932 次
发布时间:2019-06-27

本文共 5615 字,大约阅读时间需要 18 分钟。

1.保存用户输入到文件

从键盘读入一行字符,写到文件output.txt中去。

package io;import java.io.*;public class MyFileOutput {    public static void main(String[] args) {        FileInputStream fin;        FileOutputStream fout;        int ch;        try {            fin=new FileInputStream(FileDescriptor.in);            fout=new FileOutputStream("output.txt");            System.out.println("请输入一行字符:");            while((ch=fin.read())!='\r')                fout.write(ch);            fin.close();            fout.close();            System.out.println("文件写入成功!");        } catch (FileNotFoundException e) {            System.out.println("不能创建文件!");        }catch(IOException e){            System.out.println("输出流有误!");        }    }}

2.显示文件内容

显示文本文件的内容。

package io;import java.io.*;public class TypeFile {    public static void main(String[] args) {        FileInputStream fin;        FileOutputStream fout;        int ch;        if(args.length<1){            System.out.println("请指定文件名!");            return;        }        try {            fin=new FileInputStream(args[0]);            fout=new FileOutputStream(FileDescriptor.out);            while((ch=fin.read())!=-1)                fout.write(ch);            fin.close();            fout.close();        } catch (FileNotFoundException e) {            System.out.println("文件没有找到!");        } catch (IOException e) {            System.out.println("输入流有误!");        }            }}

3.文件的复制

文件复制程序。

package io;import java.io.*;public class CopyFile {    public static void main(String[] args) {        FileInputStream fin;        FileOutputStream fout;        int ch;        if(args.length!=2){            System.out.println("参数格式不对,应该为:java CopyFile 原文件名 目标文件名");            return;        }        try {            fin=new FileInputStream(args[0]);            fout=new FileOutputStream(args[1]);            while((ch=fin.read())!=-1)                fout.write(ch);            fin.close();            fout.close();            System.out.println("文件复制成功!");        } catch (FileNotFoundException e) {            System.out.println("文件没有找到!");        } catch (IOException e) {            System.out.println("读写文件有误!");        }    }}

4.顺序输入流

顺序输入流示例。

package io;import java.io.*;import java.util.*;public class FileList implements Enumeration{    String MyFileList[];    int current=0;    public FileList(String filelist[]){        MyFileList=filelist;    }        public FileList(){        MyFileList=null;    }        public boolean hasMoreElements() {        if(MyFileList==null)            return false;        if(current
package io;import java.io.*;import java.util.*;public class MySequenceIn {    public static void main(String[] args) {        FileList myList = new FileList(args);        SequenceInputStream sin;        FileOutputStream fout;        int data;        try {            sin = new SequenceInputStream(myList);            fout = new FileOutputStream(FileDescriptor.out);            while((data=sin.read())!=-1)                fout.write(data);            sin.close();            fout.close();        } catch (FileNotFoundException e) {            System.out.println("文件无法打开");        } catch (IOException e) {            System.out.println("读写文件有误");        }    }}

5.管道输入输出流

管道输入输出流示例。

package io;import java.io.*;//本线程类用于发送数据public class ThreadOut extends Thread {    PipedInputStream pin;    PipedOutputStream pout;    byte data[]={1,2,3};    public ThreadOut(PipedInputStream in, PipedOutputStream out){        pin = in;        pout = out;    }        public void run(){        try {            pout.write(data);        } catch (IOException e) {//            e.printStackTrace();        }    }}
package io;import java.io.*;//本线程类用于接收数据public class ThreadIn extends Thread {    PipedInputStream pin;    PipedOutputStream pout;    int data;    public ThreadIn(PipedInputStream in, PipedOutputStream out){        pin = in;        pout = out;    }        public void run(){        try {            while((data=pin.read())!=-1)                System.out.println(data);        } catch (IOException e) {//            e.printStackTrace();        }    }}
package io;import java.io.*;public class MyPipedIO {    public static void main(String[] args) {        PipedInputStream mypin=null;        PipedOutputStream mypout=null;        try {            mypin = new PipedInputStream();            mypout = new PipedOutputStream();            mypin.connect(mypout);            ThreadOut tout = new ThreadOut(mypin, mypout);            ThreadIn tin = new ThreadIn(mypin, mypout);            tout.start();            tin.start();        } catch (IOException e) {            System.out.println("无法连接管道");        }    }}

6.过滤输入输出流

数据输入输出流使用示例。

package io;import java.io.*;public class MyDataIO {    public static void main(String[] args) {        DataOutputStream dout;        DataInputStream din;        try {            dout = new DataOutputStream(new FileOutputStream("testfile.dat"));            dout.writeInt(100);            dout.writeLong(123456789);            dout.writeDouble(1.23456);            dout.writeFloat(1.2f);            dout.writeBoolean(true);                        din = new DataInputStream(new FileInputStream("testfile.dat"));            System.out.println(din.readInt());            System.out.println(din.readLong());            System.out.println(din.readDouble());            System.out.println(din.readFloat());            System.out.println(din.readBoolean());        } catch (FileNotFoundException e) {            System.out.println("没有找到文件!");        } catch (IOException e) {            System.out.println("无法正常创建输入输出流数据!");        }            }}

 

转载地址:http://xigjl.baihongyu.com/

你可能感兴趣的文章
ASP.NET Core身份认证服务框架IdentityServer4(2)-整体介绍
查看>>
P1064 金明的预算方案
查看>>
在 Spring 4.3.9下升级 Velocity 1.7.x to Velocity 2.0.x 出现的问题
查看>>
Python排序dict之list数组
查看>>
OKR
查看>>
cmake 常用变量和常用环境变量查表手册
查看>>
H极大值—lhMorpHMax
查看>>
asp.net创建文件夹出错的解决方案[转]
查看>>
[php] stop the NetBeans to scan the files automaticly
查看>>
都老了
查看>>
RFM模型分析与客户细分
查看>>
user-select介绍
查看>>
src源代码生成html格式文档
查看>>
一道面试题:用多种方法实现两个数的交换
查看>>
网络之XML解析-原生
查看>>
Linux下安全扫描工具Nmap用法详解
查看>>
linux系统编程:线程原语
查看>>
MIDI Architecture
查看>>
设计中最常用的CSS选择器
查看>>
关于Cocos2d-x中增加暂停按钮的步骤
查看>>