JAVA数据流的概述

c#小王子 c#小王子 2022-01-29 639 Java

输入输出是指应用程序与外部设备及其他计算机进行数据交流的操作,如读写硬盘数据、向显示器输出数据、通过网络读取其他节点的数据等。任何一种编程语言必须拥有输入输出的处理方式,Java 语言也不例外。Java 语言的输入输出数据是以流的形式出现的,并且 Java 提供了大量的类来对流进行操作,从而实现了输入输出功能。


数据流的概念:

输入/输出时,数据在通信通道中流动。所谓“数据流(stream)”指的是所有数据通信通道之中,数据的起点和终点。信息的通道就是一个数据流。只要是

数据从一个地方“流”到另外一个地方,这种数据流动的通道都可以称为数据流。


输入流/输出流:

输入/输出是相对于程序来说的。程序在使用数据时所扮演的角色有两个:一个是源,一个是目的。若程序是数据流的源,即数据的提供者,这个数据流对程序来说就是一个“输出数据流”(数据从程序流出)。若程序是数据流的终点,这个数据流对程序而言就是一个“输入数据流” ( 数据从程序外流向程序) 。输入流(数据从外面流入程序,只能读取不能写入)输出流(数据从程序输出外面,只能写入不能读取)


JAVA 的 IO 包:

Java 语言中提供了比较完善的处理输入输出数据的功能,实现这些 I/O 操作的类和接口都在 java.io 包中。java.io 包中提供了各种各样的输入输出流类,它们都是 Object 类的直接子类,每一个流类代表一种特定的输入或输出流。在这些类中,作为 Object 类的直接子类,基本输入流(InputStream)和基本输出流(OutputStream)是字节流类,读写以字节为单位进行;Reader 和 Writer类是专门处理 16 位字符流的类,另外,在 Java 中还提供了处理文件的一些类,如常用的文件类 File、文件随机访问类 RandomAccessFile 等。


JAVA数据流的概述



文件(File):

在应用程序设计中,除了基本的键盘输入和屏幕输出外,最常用的输入输出就是对磁盘文件的读写了, File 类是专门用来管理目录和文件的,每一个 File类的对象都与某个目录或文件相联系,调用 File 类的方法对目录或文件进行管理,如对文件或目录的创建、删除、改名、获取相关信息等,它直接处理文件和文件系统。


File 类提供 3 个不同的构造方法:


第一构造方法:public File(String pathnam)


Path 指明了新创建的 File 对象对应的磁盘文件或目录名及路径名。

例子:

File f1=new File(“d:\\java\\myinput.java”)

或者 File f1=new File(“d:/java/myinput.java”)

File f2=new File(“java/myinput.java”)

File f3=new File(“myinput.mp3”)


第二构造方法:public File(String path, String name)


Path 指明了路径,name 指明文件名。

File f1=new File("d:\\java","myinput.mp3")


第三构造方法:public File(File dir, String name):


Dir 是指已经创建好的路径,name 指明文件名。

File f1=new File("d:\\java")

File f2=new File(f1, "myinput.doc")


File 的基本操作:

File 类为各种文件操作提供了一套完整的方法,使用这些方法来完成对目录和文件的管理。在此列出了 File 类的一些常用方法


public boolean canWrite( ):返回文件是否可写。

public boolean canRead( ):返回文件是否可读。

public boolean createNewFile( ):当文件不存在时创建文件。

public boolean delete( ):从文件系统内删除该文件。

public void deleteOnExit( ):程序顺利结束时从系统中删除文件。

public boolean equals(File f):判断两个 File 类对象是否相同。

public boolean exists( ):判断文件是否存在。

public File getAbsoluteFile( ):以 File 类对象形式返回文件的绝对路径。

public String getAbsolutePath( ):以字符串形式返回文件的绝对路径。

public String getName( ):以字符串形式返回文件名称。

public String getParent( ):以字符串形式返回文件父目录路径。

public String getPath( ):以字符串形式返回文件的相对路径。

public File getParentFile( ):以 File 类对象形式返回文件父目录的路径。

public boolean isDirectory():判断该 File 对象所对应的是否是目录。

public boolea isFile():判断该 File 对象所对应的是否是文件。

public long lastModified() :返回文件的最后修改时间。

public int length():返回文件长度。

public String[] list():返回文件和目录清单。(字符串对象)

public File[] listFiles():返回文件和目录清单。(File 对象)

public boolean mkdir():在当前目录下生成指定的目录。

public boolean renameTo(File dest):将当前 File 对象对应的文件名改为 dest

对象对应的文件名。

public boolean setReadOnly():将文件设置为只读。

public String toString():将文件对象的路径转换为字符串返回。


File 的目录分界符:

File.pathSeparator:

File.separator:

\

File 实例:

1、创建文件:


import java.io.File ;
import java.io.IOException ;
public class FileDemo01{
public static void main(String args[])
{
File f = new File("E:"+File.separator+"test.txt") ; // 实例化 File 类的对象
try{
f.createNewFile(); // 创建文件,根据给定的路径创建
}catch(IOException e){
e.printStackTrace(); // 输出异常信息
}
} 
}


2、删除文件


import java.io.File ;
public class FileDemo02{
public static void main(String args[])
{
File f = new File("E:"+File.separator+"test.txt"); //实例化 File 类的对象
if(f.exists()) // 如果文件存在则删除
f.delete() ; // 删除文件
} 
}


3、分别创建文件夹和文件


import java.io.File;
import java.io.IOException;
public class FileDemo03{
public static void main(String args[])
{
File f1=new File("E:"+File.separator+"Code"); //“File.separator”表示“\”
File f2=new File(f1,"t2.txt");
try{
if(f1.exists()) //判断目录是否存在
System.out.println("目录已存在!");
else
if(f1.mkdir()) //创建目录
System.out.println("创建目录成功!");
if(f2.exists()) //判断文件是否存在
System.out.println("文件已存在!");
else
if(f2.createNewFile()) //创建文件
System.out.println("创建文件成功!");
}catch(IOException e){
e.printStackTrace(); //输出异常信息
} 
} 
}


4、判断一给定路径是否目录:

import java.io.File;
public class FileDemo04{
public static void main(String args[])
{
File f = new File("E:"+File.separator+"Code") ; // 实例化 File 类的对
象
if(f.isDirectory()) // 判断是否是目录
System.out.println(f.getPath() + "路径是目录。");//getPath()获取文件
路径
else
System.out.println(f.getPath() + "路径不是目录。");
} 
}


【下载地址】

百度网盘链接:https://pan.baidu.com/s/1xfPRmrpQrjdtAdR72f0_rw

提取码:haf5


相关文章


使用-JFreeChart来创建基于web的图表

使用-JFreeChart来创建基于web的图表

XStream使用文档

XStream使用文档

WebService发布过程及常见问题

WebService发布过程及常见问题

webpack实战入门进阶调优分享

webpack实战入门进阶调优分享

weblogic调优参数及监控指标

weblogic调优参数及监控指标

weblogic节点管理

weblogic节点管理

weblogic管理控制台概述

weblogic管理控制台概述

weblogic-部署和启动

weblogic-部署和启动

WebLogic-Server-性能及调优-调优-Java-虚拟机

Java 虚拟机(Java virtual machine,简称 JVM)是一种虚拟“执行引擎”实例,可在微处理器上执行 Java 类文件中的字节码。调整 JVM 的方式会影响 Weblogic Server 和应用程序的性能。

Velocity用户教程

Velocity是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。

Velocity用户手册

Velocity 用户手册是帮助页面设计者和内容提供者认识 Velocity 和其简单而功能强大的脚本语言――Velocity 模板语言(VTL)。在手册上的许多例子,都是用 Velocity 插入动态的内容到网页上,但是所有的 VLT 例子都能应用到其他的页面和模板中。


文章热度: 166291
文章数量: 333
推荐阅读

FlashFXP绿色版网盘下载,附激活教程 1778

FlashFxp百度网盘下载链接:https://pan.baidu.com/s/1MBQ5gkZY1TCFY8A7fnZCfQ。FlashFxp是功能强大的FTP工具

Adobe Fireworks CS6 Ansifa绿色精简版网盘下载 1564

firework可以制作精美或是可以闪瞎眼的gif,这在广告领域是需要常用的,还有firework制作下logo,一些原创的图片还是很便捷的,而且fireworks用法简单,配合dw在做网站这一块往往会发挥出很强大的效果。百度网盘下载链接:https://pan.baidu.com/s/1fzIZszfy8VX6VzQBM_bdZQ

navicat for mysql中文绿色版网盘下载 1623

Navicat for Mysql是用于Mysql数据库管理的一款图形化管理软件,非常的便捷和好用,可以方便的增删改查数据库、数据表、字段、支持mysql命令,视图等等。百度网盘下载链接:https://pan.baidu.com/s/1T_tlgxzdQLtDr9TzptoWQw 提取码:y2yq

火车头采集器(旗舰版)绿色版网盘下载 1706

火车头采集器是站长常用的工具,相比于八爪鱼,简洁好用,易于配置。火车头能够轻松的抓取网页内容,并通过自带的工具对内容进行处理。站长圈想要做网站,火车头采集器是必不可少的。百度网盘链接:https://pan.baidu.com/s/1u8wUqS901HgOmucMBBOvEA

Photoshop(CS-2015-2023)绿色中文版软件下载 1822

安装文件清单(共46G)包含Window和Mac OS各个版本的安装包,从cs到cc,从绿色版到破解版,从安装文件激活工具,应有尽有,一次性打包。 Photoshop CC绿色精简版 Photoshop CS6 Mac版 Photoshop CC 2015 32位 Photoshop CC 2015 64位 Photoshop CC 2015 MAC版 Photoshop CC 2017 64位 Adobe Photoshop CC 2018 Adobe_Photoshop_CC_2018 Photoshop CC 2018 Win32 Photoshop CC 2018 Win64

知之

知之平台是全球领先的知识付费平台。提供各个领域的项目实战经验分享,提供优质的行业解决方案信息,来帮助您的工作和学习

使用指南 建议意见 用户协议 友情链接 隐私政策 Powered by NOOU ©2020 知之