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<MyFileList.length)
return true;
else
return false;
} public Object nextElement() {
FileInputStream in=null;
if(!hasMoreElements())
return null;
try {
in = new FileInputStream(MyFileList[current]);
current++;
} catch (FileNotFoundException e) {
System.out.println("Can't open file:"+MyFileList[current]);
}
return in;
} }
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("无法正常创建输入输出流数据!");
} } }

Java输入输出处理技术1的更多相关文章

  1. Java输入输出处理技术2

    7.从键盘输入 从键盘输入一行字符,并显示到屏幕上. package io; import java.io.*; public class ReadAndWrite { public static v ...

  2. java的poi技术读取Excel数据到MySQL

    这篇blog是介绍java中的poi技术读取Excel数据,然后保存到MySQL数据中. 你也可以在 : java的poi技术读取和导入Excel了解到写入Excel的方法信息 使用JXL技术可以在 ...

  3. Java 加解密技术系列文章

    Java 加解密技术系列之 总结 Java 加解密技术系列之 DH Java 加解密技术系列之 RSA Java 加解密技术系列之 PBE Java 加解密技术系列之 AES Java 加解密技术系列 ...

  4. java的JSP技术

    java的JSP技术 [toc] 1.JSP简介 Jsp技术是用来开发java web的页面显示的,所有MVC模型里面的视图层,所以视图层的开发 jsp不是编程语言,三个英文是java server ...

  5. java的poi技术写Excel的Sheet

    在这之前写过关于java读,写Excel的blog如下: Excel转Html java的poi技术读,写Excel[2003-2007,2010] java的poi技术读取Excel[2003-20 ...

  6. Java Web编程技术学习要点及方向

    学习编程技术要点及方向亮点: 传统学习编程技术落后,应跟著潮流,要对业务聚焦处理.要Jar, 不要War:以小为主,以简为宝,集堆而成.去繁取简 Spring Boot,明日之春(future of ...

  7. java的poi技术读,写Excel[2003-2007,2010]

    在上一篇blog:java的poi技术读取Excel[2003-2007,2010] 中介绍了关于java中的poi技术读取excel的相关操作 读取excel和MySQL相关: java的poi技术 ...

  8. java的poi技术读取Excel[2003-2007,2010]

    这篇blog主要是讲述java中poi读取excel,而excel的版本包括:2003-2007和2010两个版本, 即excel的后缀名为:xls和xlsx. 读取excel和MySQL相关: ja ...

  9. java编解码技术,netty nio

    对于java提供的对象输入输出流ObjectInputStream与ObjectOutputStream,可以直接把java对象作为可存储 的字节数组写入文件,也可以传输到网络上去.对与java开放人 ...

随机推荐

  1. mac 用密钥远程登陆

    window远程登陆命令:mstsc A为本地主机(即用于控制其他主机的机器) ;B为远程主机(即被控制的机器Server), 假如ip为192.168.60.110;A和B的系统都是Linux 在A ...

  2. thinkphp5.0与thinkphp3.2之间的区别

    5.0版本和之前版本的差异较大,本篇对熟悉3.2版本的用户给出了一些5.0的主要区别. URL和路由 5.0的URL访问不再支持普通URL模式,路由也不支持正则路由定义,而是全部改为规则路由配合变量规 ...

  3. caffe 中 plot accuracy和loss, 并画出网络结构图

    plot accuracy + loss 详情可见:http://www.2cto.com/kf/201612/575739.html 1. caffe保存训练输出到log 并绘制accuracy l ...

  4. IAR环境搭建注意点

    1. include文件添加 Options->C/C++ Compiler 中的Preprocessor中增加一般的头文件 同时 在Assembler中的Preprocessor标签下添加$P ...

  5. spring 事务配置

    事务配置文档xml <!-- from the file 'context.xml' --> <?xml version="1.0" encoding=" ...

  6. CF1060C Maximum Subrectangle【乘法分配律】【最大子矩阵】

    CF1060C Maximum Subrectangle 题意翻译 现在给出一个长度为N的a数列,一个长度为M的b数列. 现在需要构造出一个矩阵c,其中ci,j​=ai​×bj​.再给出一个x,请在矩 ...

  7. ZOJ 3626 Treasure Hunt I 树上DP

    E - Treasure Hunt I Time Limit:2000MS Memory Limit:65536KB Description Akiba is a dangerous country ...

  8. PAT甲级1111. Online Map

    PAT甲级1111. Online Map 题意: 输入我们当前的位置和目的地,一个在线地图可以推荐几条路径.现在你的工作是向你的用户推荐两条路径:一条是最短的,另一条是最快的.确保任何请求存在路径. ...

  9. Content portal for Pocketables Tasker articles

    http://www.pocketables.com/2013/03/overview-of-pocketables-tasker-articles.html I write a lot about ...

  10. Windbg 基础命令 《第一篇》

    Windbg.exe是Windows的一个调试工具,它支持两种调试模式,即“实时调试模式(Living)”和“事后调试模式(Postmortem)”. 实时模式:被调试的程序正在运行当中,调试器可以实 ...