JAVA入门到精通-第44讲-IO编程

//FileOutputStream的使用

准备把它输出到d:\\ss.txt 文件,

文件不存在直接创建;

如果存在,可能会被覆盖;

//字节流

FileOutputStream fos=null;

//输出-Output-离开内存-Output/Write

//如何把string转换成bytes数组:

s.getBytes()

//关闭文件流

//两个字符串的换行

world\r\n

\r\n就是回车换行的意思

---------------------------------------------------

java文件编程--常用io流

常用io流--文件字节流

1、案例[Io02.java]:读取文件(文件字节输入流使用,目的:FileInputStream类)把用

FileInputStream的对象把文件读入到内存

/**
* File类的基本用法
* io流--文件字节流
* FileInputStream类的使用
*/
import java.io.*;
public class Io02 {
public static void main(String[] args) {
//得到一个文件对象,f指向e:\ff\hsp.txt文件
File f=new File("e:\\ff\\hsp.txt");
FileInputStream fis=null;
try {
//因为File没有读写的能力,所以需要使用InputStream类
fis=new FileInputStream(f);
//定义一个字节数组,相当于缓存
byte []bytes=new byte[1024];
int n=0;//得到实际读取到的字节数
//循环读取
while((n=fis.read(bytes))!=-1){
//把字节转成String
String s=new String(bytes,0,n);
System.out.println(s);
}
} catch (Exception e) {
e.printStackTrace();
}finally{
//关闭文件流必需放在finally语句块中
try {
fis.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}

1

/**

2

 * File类的基本用法

3

 * io流--文件字节流

4

 * FileInputStream类的使用

5

 */

6

import java.io.*;

7

public class Io02 {

8

    public static void main(String[] args) {

9

        //得到一个文件对象,f指向e:\ff\hsp.txt文件

10

        File f=new File("e:\\ff\\hsp.txt");

11

        FileInputStream fis=null;

12

        try {

13

            //因为File没有读写的能力,所以需要使用InputStream类

14

            fis=new FileInputStream(f);

15

            //定义一个字节数组,相当于缓存

16

            byte []bytes=new byte[1024];

17

            int n=0;//得到实际读取到的字节数

18

            //循环读取

19

            while((n=fis.read(bytes))!=-1){

20

                //把字节转成String

21

                String s=new String(bytes,0,n);

22

                System.out.println(s);

23

            }

24

        } catch (Exception e) {

25

            e.printStackTrace();

26

        }finally{

27

            //关闭文件流必需放在finally语句块中

28

            try {

29

                fis.close();

30

            } catch (Exception e) {

31

                e.printStackTrace();

32

            }

33

        }

34

    }

35

}

36



------------------------------



2、案例[Io03.java]:从键盘接收用户输入内容,并保存到文件中(文件字节输出流,目的:FileOutputStream)

/**
* File类的基本用法
* io流--文件字节流
* FileOutputStream类的使用
*/
import java.io.*;
public class Io03 {
public static void main(String[] args) {
File f=new File("e:\\ff\\ss.txt");//直接覆盖写同一个文件
//字节输出流
FileOutputStream fos=null;
if(f.exists()){
System.out.println("文件已存在");
}else{
try {
fos=new FileOutputStream(f);
String s="hello,world!\r\n";
String s1="中国人";
fos.write(s.getBytes());
fos.write(s1.getBytes());
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
fos.close();
} catch (Exception e2) {
e2.printStackTrace();
}
}
}
}
}

x

1

/**

2

 * File类的基本用法

3

 * io流--文件字节流

4

 * FileOutputStream类的使用

5

 */

6

import java.io.*;

7

public class Io03 {

8

    public static void main(String[] args) {

9

        File f=new File("e:\\ff\\ss.txt");//直接覆盖写同一个文件

10

                //字节输出流

11

        FileOutputStream fos=null;

12

        if(f.exists()){

13

            System.out.println("文件已存在");

14

        }else{

15

            try {

16

                fos=new FileOutputStream(f);

17

                String s="hello,world!\r\n";

18

                String s1="中国人";

19

                fos.write(s.getBytes());

20

                fos.write(s1.getBytes());

21

            } catch (Exception e) {

22

                e.printStackTrace();

23

            }finally{

24

                try {

25

                    fos.close();

26

                } catch (Exception e2) {

27

                    e2.printStackTrace();

28

                }

29

            }

30

        }

31

    }

32

}

33

































来自为知笔记(Wiz)

原文地址:https://www.cnblogs.com/xuxaut-558/p/10045771.html

时间: 2024-09-29 01:38:13

JAVA入门到精通-第44讲-IO编程的相关文章

JAVA入门到精通-第46讲-IO编程.记事本开发

IO编程-记事本开发 fis.read(bytes) 字节数组: 通过fis把文件里面的1800个字符,尽可能的读, 最多读1024个.记录一下,0-1024记录到bytes; 再去读的首,fis.read试图1024个字节,不够了, 第二次读了776个,n=776:(0,776): 第三次,又准备读1024,这次一个读不到,返回-1: 退出循环: JMenuBar 菜单条是一个JMenuBar: JMenu File是一个JMenu; JMenuItem 下面这些选项是JMenuItem; 一

JAVA入门到精通-第45讲-IO编程

image1=ImageIO.read(new File("bomb_1.gif")); 图片拷贝: 输入流和输出流同时要用的问题: 图片读入到内存: 写入,输出到某个文件: 二进制文件,字节流完成: FileInputStream fis=new FileInputStream("xxxx.jpg"); 输出到指定文件:FileOutputStream  fos=null; 关闭打开的文件流: -----------------------------------

JAVA入门到精通-第32讲-swing编程实战

 JBorderLayout,左边是JList,拆分窗格: 图片是放在JLabel上的,图片的地址写好就行:  在相关项目下面建立一个文件夹Folder,放置图片:或者复制粘贴:   拆分:水平拆分?垂直拆分?    拆分之后把jList和jl1这两个组件放进去: 可以伸缩:  在窗口左上角出现自己的图标? Border布局: 多行文本框带滚动条,聊天窗口可滚动:   加入QQ左上角图标:      转成图片,getImage; Border布局很有用, CENTER会被自动挤满:  QQ号码.

JAVA入门到精通-第94讲-山寨QQ项目8-好友在线提示

遇到的问题: 现在每登录一个人,后面的人是能看到前面的登录的人的: 但是,前面的人看不到后面的人登录: //后面每登录一个人,有责任去通知前面登录的人他已经上线了: 通知了完以后,需要更改好友在线的情况: //不让同一个账号反复登录 //如果 好友不在线,则不能聊天 ================================ [ManageQqChat.java] /** * 这是一个管理用户聊天界面的类 */ package com.qq.client.tools; import jav

JAVA入门到精通-第31讲-常见组件

面板组件-Jpanel  一个JFrame,多个JPanel: JPanel默认是流布局:FlowLayout:  通过JPanel达到复杂布局的目的:  可以认为是网格布局,有3个JPanel:2个Label:2个按钮: 一个密码框和一个文本输入框:   最终展现出来的还是靠JFrame展现的  网格布局好点,3个JPanel,用流布局,控件往里加: ButtonGroup按钮组:一组里面只能选择一个:    对单选框管理,就是把它加入到ButtonGroup里面: 单选框也是一个个放进JPa

JAVA入门到精通-第92讲-山寨QQ项目6-多对多的聊天

QQ聊天项目演示-多对多的聊天 流同时并发的异常: 服务器中转 2/3号只有一个连接: 接收信息:while循环不停地读取: 当1号点开两个窗口时,2/3会共同去争取这个socket: 会出现流同时并发异常: Socket处理成static不太合理: 启动一个窗口就会占据Socket不放: ------------- -实现真正的多人聊天,互相不出现错误 -每一个登录的账号独享一份socket -去掉static 当一个链接达成的时候, 启动线程, 和服务器保持通讯的状态: 做一个类来管理客户端

JAVA入门到精通-第0讲

p.MsoNormal,li.MsoNormal,div.MsoNormal { margin: 0cm; margin-bottom: .0001pt; text-align: justify; font-size: 10.5pt; font-family: "Calibri", "sans-serif" } .MsoChpDefault { } div.Section1 { } java平台 1.J2SE java开发平台标准版 2.J2EE java开发平台企

JAVA入门到精通-第33讲-绘图技术.坦克大战1

    用的是Access数据库,安全性不够好,性能也不够强大:   躲在这里,坦克很少过来,做了一个随机数: 把得分的记录保存在数据库里面: SQLServer2005中型数据库:    (x,y)坐标:     800x600:     表示计算机屏幕上的每一行由800个点组成,共有600行:   共有480000个像素:   java绘图技术:   绘图一般在JPane上画: 覆盖JPanel的paintat方法 Graphics是一个图形画笔类,绘图的重要类,可以理解为一只画笔 supe

JAVA入门到精通-第72讲-学生管理系统4-model 2模式(1)

删除.查询.添加.修改: -修改: 每个字段都可能修改: //给?赋值 //在prepareStatement语句后面赋值才好用 //修改完了,更新数据 目前为止,已经完成了增删改查-Model1模式 最大特点: 界面和业务逻辑操作是放在一起的: 优点:简单,开发方便: 缺点:代码复用性不高: 中大型项目可读性差,可维护性不高: 前台后端混杂在一起的: 比如:"数据库密码换了, 所有涉及到数据库的地方都需要发生变化" =================================