java流的应用_Java中I/O流的应用

Java中I/O流的应用

iLeGeND

packagecom.hp.io;

/**  I/O流的应用 * 实现目标: *   首先创建一个文件 *   通过键盘向文件添加内容 *   然后把文件的内容打印到控制台 * */

import java.io.BufferedReader;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.OutputStreamWriter;

public class Experiment1 {

public static void main(String[] args) throws IOException {

//throws IOException 抛出异常//寻找文件 如果不存在 就在指定位置建一个

File  file = new File("D:/HelloWord.java");

if(!(file.exists())){//判断文件是否已存在

file.createNewFile();//如果不存在 新建一个

}

//向文件添加内容

:先把内容读到程序 然后再把程序中的内容写出到文件 //提示内容

System.out.println("请输入任意字符");

//把字节流转为字符流

InputStreamReader input = new InputStreamReader(System.in);

//加缓冲   可整行读入键盘信息

BufferedReader br = new BufferedReader(input);

//把整行信息 赋给 字符串str

String str=br.readLine();

//输出 str

System.out.println(str);

//将文件写到文件 //字节流         true 表示在原来内容基础上操作

FileOutputStream fos = new FileOutputStream("D:/HelloWorld.java",true);

//字符流

OutputStreamWriter f = new  OutputStreamWriter(fos);

//写到文件

f.write(str);

//关闭流  注意顺序  先关离文件远的流

f.close();

fos.close();

//讲文件内容打印到控制台  :

//    首先要从文件中读入程序  然后从程序写出到控制台 //字符流输入

FileInputStream fis = new FileInputStream("D:/HelloWorld.java");

//字节流输入

InputStreamReader fo=new  InputStreamReader(fis);

//定义 变量 i;

int i;

/* read()读取单个字符。 读取的字符,如果已到达流的末尾,则返回 -1 */

while((i=(fo.read()))!=-1){

//输出到控制台,(char)i  是把i转换成字符型

System.out.print((char)i);

}

//关闭流    注意顺序

fo.close();fis.close();

}

}

运行结果

0818b9ca8b590ca3270a3433284dd417.png

注意 第二次是在第一次的基础上进行的 就是 true的作用

0818b9ca8b590ca3270a3433284dd417.png

如果没有true结果是

0818b9ca8b590ca3270a3433284dd417.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/417830.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PHP的反射类ReflectionClass、ReflectionMethod使用实例

PHP5 具有完整的反射API,添加对类、接口、函数、方法和扩展进行反向工程的能力。 反射是什么? 它是指在PHP运行状态中,扩展分析PHP程序,导出或提取出关于类、方法、属性、参数等的详细信息,包括注释。这种动态获取的信…

java 多线程跑数据_java——多线程的实现方式、三种办法解决线程赛跑、多线程数据同步(synchronized)、死锁...

多线程的实现方式:demo1、demo2demo1:继承Thread类,重写run()方法packagethread_test;public class ThreadDemo1 extendsThread {ThreadDemo1(){}ThreadDemo1(String szName){super(szName);}//重载run函数public voidrun() {for(int count …

word2007鼠标不好用

因为我装了 Powerdesigner 12.5,这个 COM 插件和 Word 2007 有冲突,所以导致了上面的问题,只要在 Word 移除这个 Addin 就可以了:左上角office图标——office选项——加载项——管理加载项——转到——去掉Powerdesigner Add-In前…

Axure5.1不能输入中文问题.

不能输入中文问题默认输入法改成“英语(美国)——美式键盘”。然后再进行切换就可以了。

java 静态线程_Java线程类静态本机void yield()方法(带示例)

线程类静态本机无效 yield()软件包java.lang.Thread.yield()中提供了此方法。yield()方法表示停止当前正在执行的线程,并为其他优先级相同的等待线程提供机会。如果没有等待线程,或者所有等待线程的优先级都较低,则同一线程将继续执行。这种方…

学习资料(不定更新)

w3cschool : http://www.w3school.com.cn/h.asp 菜鸟教程:http://www.runoob.com/ 51CTO: http://www.51cto.com/ angularjs: https://angularjs.org/ Python学习大本营: http://www.pythondoc.com/ http://webpy.org/ 比较好用的图表JS框架: http://www…

PowerDesigner物理数据模型

物理数据模型 name 显示名称code 生成代码中的名称comment 生成代码中备注生成代码中特例:外键名在Integrity——Constraint name主键名Constraint name

struts2-19-合法用户上传文件

一:登录页面 成功:--->upload.jsp 失败:返回错误信息(用户名或者密码错误) 二:上传文件 登录成功:上传成功 未登录:--->login.jsp错误信息(请登录) 三…

java 多线程生产者_java-Runnable加锁实现生产者和消费者的多线程问题

//库存函数,保存着库存的信息Storage.javapublic classStorage {//模拟库存public Integer num1;}//生产者函数 product.java/************************************************************Copyright (C), 1988-1999, Huawei Tech. Co., Ltd.FileName: Customer.j…

Axure共享问题

获取共享项目 文件——获取共享项目——\\192.168.0.212\axureshare\HZ下一步——选择本地保存路径 签入签出 A签出——修改——签入——B获新就能看到新的了A签出的时候B不能更改 当A签出时,B无法查看动态面板的每个状态此时可以把面板复制到自己的页面看 修改中可…

maven项目和普通项目转换

转载于:https://www.cnblogs.com/yver/p/6054131.html

.java文件_【转】java文件操作大全

一.获得控制台用户输入的信息public String getInputMessage() throws IOException...{System.out.println("请输入您的命令∶");byte buffer[]new byte[1024];int countSystem.in.read(buffer);char[] chnew char[count-2];//最后两位为结束符,删去不要f…

T-SQL 字符串前加 N 是什么意思

比如 select status Nstopped 那么其中的字符串 stopped 前面为什么要加 N 呢?而且我们发现有些地方加 N 与否都没有影响,有些地方又必须加 N。 N 在这里表示 Unicode,就是双字节字符。对于西文字符,用一个字节来存储过足够了&am…

Gradle用户指南(1)-Gradle安装

前置条件 Gradle 需要 Java JDK 或者 JRE,版本是 6 及以上。Gradle 将会装载自己的 Groovy 库,因此,Groovy 不需要被安装。任何存在的 Groovy 安装都会被 Gradle 忽略。 Gradle 使用你 path 中的 JDK,或者,您可以设置 java_home 环…

幻读Java_脏读、幻读、不可重复读和丢失更新

1.脏读 -- 一个事务读取到另外一个事务没有提交的数据事务T1:更新一条数据-->事务T2:读取事务T1更新的记录事务T1:调用commit进行提交此时事务T2读取到的数据是保存在数据库内存中的数据,称为脏数据,这个过程称为脏…

数据库生成文本文件

通过SQLServer配置管理器——功能的外围应用配置器——打开xp_cmdshell xp_cmdshell "cmd /c echo aaaaa>>a.txt"有特殊符号(如换行<>()%|[]等)须加特殊符号前加^ 调试&#xff1a;-------------aa.cmd---------------echo 但有时候加与不加都一样&#…

第十六章:Java内存模型——Java并发编程实战

一、什么是内存模型&#xff0c;为什么要使用它 如果缺少同步&#xff0c;那么将会有许多因素使得线程无法立即甚至永远看到一个线程的操作结果 编译器把变量保存在本地寄存器而不是内存中编译器中生成的指令顺序&#xff0c;可以与源代码中的顺序不同处理器采用乱序或并行的方…

二进制包 mysql_二进制包安装MySQL数据库

1.1二进制包安装MySQL数据库1.1.1 安装前准备(规范)[rootMysql_server ~]# mkdir -p /home/zhurui/tools ##创建指定工具包存放路径[rootMysql_server ~]# wget http://ftp.ntu.edu.tw/pub/MySQL/Downloads/MySQL-5.5/mysql-5.5.32-linux2.6-x86_64.tar.gz ##下载二进制包[ro…

SELECT TOP n 性能测试

--快1. select top 100 * from test where c1 < 30000 order by c2 --慢2. select top 101 * from test where c1 < 30000 order by c2 1. is more than two times faster than 2. CREATE TABLE [dbo].[NUM]([n] int NOT NULL, s varchar(128) NULL, PRIMARY KEY CLUSTE…