《Java程序设计实例教程》 第10章 文件操作
《Java语言程序设计实验指导》电子教案第10章
通过第10章的学习,您将深入了解Java图形界面编程(Swing)的核心概念 和技巧,掌握开发各种交互式界面应用程序的能力。
Swing介绍和特点
深入了解Swing框架的特点和优势,学习如何利用Swing创建漂亮和交互式的用户界面。
Swing组成部分
了解Swing框架的基本组成部分,包括容器组件、控制组件、面板组件和边框组件。
Swing程序结构
学习如何构建一个典型的Swing应用程序,包括创建主框架、添加组件和处理板、标签、文本框和按钮,以及它们的用法和特性。
基本控件组件
学习如何使用复选框、单选框、列表框和组合框等基本控件组件,为用户提供更丰富的交互选择。
布局管理器
掌握Swing中常用的布局管理器,如流布局、网格布局和边界布局,以实现灵 活而美观的界面布局。
事件处理机制
了解Swing中的事件处理机制,并学习如何响应用户的操作、处理鼠标和键盘 事件。
Java中的文件操作
Java中的文件操作Java是一种广泛应用于软件开发的编程语言,它具有跨平台、面向对象的特点,可用于开发各种类型的应用程序。
在Java中,文件操作是一项常见的任务,用于读取、写入和处理文件。
本文将介绍Java中的文件操作相关的内容,包括文件的创建、读取、写入、删除和重命名。
一、文件的创建在Java中,可以使用File类来创建文件对象,然后通过文件对象的方法进行文件的创建。
具体的步骤如下:1. 导入File类```javaimport java.io.File;```2. 创建文件对象```javaFile file = new File("filepath/filename");```其中,"filepath/filename"是文件的路径和名称,可以是绝对路径或相对路径。
3. 创建文件```javafile.createNewFile();```该方法会在指定路径下创建一个空文件。
二、文件的读取Java提供了多种方式用于读取文件的内容,以下介绍两种常用的方法:1. 使用InputStream读取文件```javaimport java.io.FileInputStream;import java.io.InputStream;public class ReadFileExample {public static void main(String[] args) throws Exception {File file = new File("filepath/filename");InputStream inputStream = new FileInputStream(file);int data = inputStream.read();while (data != -1) {System.out.print((char) data);data = inputStream.read();}inputStream.close();}}```该方法使用FileInputStream来创建输入流,通过循环读取流中的数据并转换为字符输出。
JAVA程序设计实例教程
基础知识——程序设计基础
⑴ 注释 在程序中适当地加入注释是一种良好的编程习惯,
这样会增加程序的可读性。 注释不能放在一个标识符或关键字之中,也就是说,
要保证程序中最基本元素的完整性。注释不会影 响程序的执行结果,编译器将忽略注释。 在中,主要有以下三种注释形式: 单行注释:注释部分──只对当前行有效 多行注释:*注释部分* 文档注释:**注释部分*
基础知识——基本语
.变量 变量是在程序运行过程中可以赋值并能够对其值进行
更改的数据。 变量是程序中的基本存储单元,它的定义包括变量名、
变量值、变量类型和作用域几个部分。 变量根据其所属的数据类型划分:基本数据类型变量
基础知识——程序设计基础
⑵ 空白符 空白符包括空格、回车、换行和制表符
(键)。各种基本成分之间的多个空白符 与一个空白符的作用相同。在编译过程中, 编译器会忽略空白符。在程序中适当的使 用空白符,可以增强程序的可读性。
基础知识——程序设计基础
⑶ 普通分隔符 普通分隔符具有确定的含义,不能用错。它主要包
如:''、''。中还允许使用转义字符‘\’来将 其后的字符转变为其他的含义。
基础知识——基本语
• 中常用的转义序列
基础知识——基本语
⑷ 逻辑常量 逻辑常量只有两个值:和,分别代表布尔逻
辑中的“真”和“假”。 在中,逻辑常量不能转换成任何其他类型的
数据。 和只能赋值给声明为类型的变量,或者用于
逻辑运算表达式中。
扩展实例
• 运行结果 • 执行“运行→运行”或“运行→运行方式
→应用程序”,即可执行程序。如果程序 尚未保存,会询问在执行前是否要保存文 档,然后执行程序。该程序运行后,执行 结果如图 .
2019-2020年人教统编jAVA2程序设计基础第十章课件
返回
10.1.3 建立和删除文件
File对象中关于建立和删除文件(或目录)的方法见表10.2。
返回
表10.2 File对象建立和删除文件的方法
方法 boolean createNewFile()
File createTempFile(String prefix,String suffix) File createTempFile(String prefix, String suffix,File directory) boolean delete() void deleteonExit() boolean mkdir() boolean mkdirs()
boolean renameTo(File dest)
说明
当不存在所关联文件时,新建一个名为该关联文 件名的空文件
在系统默认的临时目录中新建一个空文件,新文 件的前缀为prefix,扩展名为suffix
在指定目录中新建一个空文件,新文件名的组成 同上
删除关联文件或目录,不能删除非空的目录
在Java虚拟机终止时删除关联文件或目录 新建一个名为所关联目录的目录
教学目标:熟悉对文件及目录的基本操作,熟悉Java I/O系统中各 个类的作用及它们之间的关系 ,掌握随机访问文件的方法 。通过上机 实践,掌握上述内容的综合应用。
10.1 文件的基本操作
对于任何程序设计语言的I/O系统来说,在对文件进行读写数据操 作(不管以何种方式进行)之前,如何找到或定位正确的文件 ( 或目 录),如何获取文件(或目录)的属性信息(如是否只读、修改时间 、文 件大小等),如何创建和删除文件 (或目录 ) ,是首先必须解决的基础 性问题。对文件(及目录) 的这些基本操作,是整个 I/O 系统的基石。 本节就先介绍Java 提供的用以协助处理文件 ( 及目录 ) 相关事务的类 File。
Java面向对象程序设计案例教程课件:Java中的文件操作
文件处理(File类) I/O 流概述 掌握Java流类的分类 常见的字节流:InputStream、OutputStream、FileInputStream、FileOutputStream、DataInputStream、DataOutputStream、BufferedInputStream、BufferedOutputStream、System.in 、 System.out等 字符流 :Reader、Writer、InputStreamReader、OutputStreamWriter、FileReader、FileWriter CharArrayReader、CharArrayWriter、BufferedReader、BufferedWriter 对象流:ObjectInputStream、ObjectOutputStream。
利用缓冲流从一个文件中读出,然后写入另一个文件。
20
DataInputStream 和 DataOutputStream 不仅能读/写数据流,而且能读/写各种的java语言的基本类型,如:boolean,int,float等。
字节流--DataInputStream 和DataOutputStream
字节流
字符流
输入流
InputStream
Reader
输出流
OutputStream
Writer
12
输入输出流分类
节点流:为可以从一个特定的数据源(节点)读写数据(如:文件,内存)
数据源
程序
处理流:是“连接”在已存在的流(节点流或处理流)之上,通过对数据的处理为程序提供更为强大的读写功能。
节点流
数据源
8
一、如果某文件如E:\doc\测试文件.txt存在件名,绝对路径,读写权限)
Java程序设计项目化教程章 (10)
第10章 任务10——读写考试系统中的文件
表10-6 Writer类的常用方法
常用方法 void write(int ch) void write(char buf[]) void write(char buf[], int off, int len) void write(string str)
第10章 任务10——读写考试系统中的文件
2.字符流(Reader类和Writer类) 字符流以一个字符(两个字节)的长度(0~65535、 0x0000~0xffff)为单位来处理,并进行适当的字符编码转换 处理。Reader类和Writer类是所有字符流的基类,属于抽象类, 它们的子类为基于字符的输入/输出处理提供了丰富的功能。 图10-3展示了字符输入流类派生的若干具体子类。
例10-1实现了一个二进制文件的复制过程。
第10章任务10——读写考试系统中的文件
例10-1 FileStreamDemo.java import java.io.*; public class FileStreamDemo { public static void main(String[] args) { int b = 0; FileInputStream in = null; FileOutputStream out = null; try { in = new FileInputStream("user.txt"); out = new
第10章 任务10——读写考试系统中的文件
输出流FileOutputStream中的write()方法将字节写到输 出流中。虽然Java在程序结束时会自动关闭所有打开的文件, 但是在流操作结束后显式地关闭流仍然是一个编程的良好习惯。 输入/输出流中均提供了close()方法,它显式地关闭流的操作。 FileOutputStream对象的创建不依赖于文件是否存在。如果该 文件对象存在,但它是一个目录,而不是一个常规文件;或者 该文件不存在,但无法创建它;或者因为其他某些原因而无法 打开,将会产生一个FileNotFoundException异常。
电子教案 《Java程序设计实例教程》-毕广吉
public boolean canWrite()
判断文件是否可写
public boolean isDirectory()
判断是不是目录
10.3 流的概念
10.3.1 数据流的概念
所有程序都离不开输入和输出,在Java语言中输入输出都是通 过数据流来实现的。数据流(stream)是一组有顺序的、有起 点和终点的字节集合,是对输入输出的抽象。包括从键盘接受数 据、读写文件、打印输出等操作,都是数据流。Java对数据流操 作的类都在java.io包中。
1.创建文件对话框 文件对话框的构造方法有三种形式,其中第三种更为常用,如
表10-1所示。
10.1 文件对话框类FileDialog
表10-1 文件对话框的构造方法
构造方法
解释
public FileDialog(Frame parent)
创建一个参数parent指定拥有者的文件对话框
public FileDialog(Frame parent, String title)
成员
解释
public static final InputStream in 标准输入对象
public static final PrintStream out public static final PrintStream err
标准输出对象 标准错误输出对象
标准输入输出对象in和out经常配合输入流类InputStream和输出流 类PrintStream的方法使用,象下面的样子:
10.2 文件类File
File类提供了许多文件操作的方法,表10-5给出了其中最常用的 方法,在10.6节将给出一个调用这些方法的例子。
表10-5 File类的常用方法
Java文件操作
Java文件操作
1、F ile类
File类通常用来操作文件“本身”,并不能操作文件中的数据,如果需要对文件中的内容进行管理,需要使用各种“文件流”
1.1、常用的字段
1.2、常用的构造方法
1.3、常用的方法
2、文件流
“流”是一连串字符的形式,用来实现对文件中数据的读和写,通常数据保存在硬盘中,分为输入流和输出流,此处的输入/输出是相对于内存来说,将数据输出到硬盘或者将硬盘中的数据输入到内存,关系如下:
3、I nputStream(读数据) 2.1、FileInputStream 2.1.1、构造方法
2.1.2、常用方法
2.1.3、读取数据完整示例
4、O utputStream(写数据)
OutputStream是个抽象类,不能直接实例化,需要找出它的子类再实例化,接下来,我们使用它的其中一个子类实现文件的“写”操作
3.1、FileOutputStream
3.1.1、构造方法
3.1.2、常用方法
3.1.3、写入数据完整示例
5、R eader
4.1、BufferedReader 4.1.1、构造方法
4.1.2、常用方法
4.1.3、读取文件完整示例
6、W riter
5.1、BufferedWriter 5.1.1、构造方法
5.1.2、常用方法
5.1.3、写数据完整示例
7、字符流与字节流的选择
通常情况下,如果操作的数据中包含中文,优先选择字符流,字符流与字节流区别在于字符流多一个“缓冲区”,从而用来提高操作效率,但是也正因此,需要严格按照文件操作的步骤,对它进行关闭,关闭的作用就在于清空“缓冲区”将数据实际的写入到文
件中。
8、二进制流。
Java电子教案第10章精品PPT课件
程序 目的端
Java I/O类层次结构
图10.2 Java流类层次结构图(1)
图10.2 Java流类层次结构图(2)
File类概述
构造方法
10.3 File类
path)
方法名
path,String name) dir,String name)
方法功能
如果path是实际存在的路径,则 该File对象表示的是目录;如果 path是文件名,则该File对象表 示的是文件。
File类应用实例
【例10-1】文件和文件对话框应用 //文件和文件对话框演示 import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.io.*; public class extends JFrame implements ActionListener {
10.1 HappyChat文件应用分析
文件在HappyChat聊天系统中的应用主要体现在以 下几个方面:
用户注册信息
➢ 用户注册时需要将信息发送到服务器端,服务器端通过用户名是 否重复的验证后,将该用户注册信息保存到服务器端的注册文件 中,在用户登录和用户注册时通过读取该文件信息进行相关验证
表10.1 File类常用方法
J类
构造方法
J() J() J(, fsv) J( fsv)
方法名
J(String currentDirectoryPath) J(String currentDirectoryPath, fsv)
方法功能
构造一个指向用户默认目录的 J 使用给定的 File 作为路径来构造一个 J 使用给定的当前目录和 构造一个 J。 使用给定的 构造一个 J。
JAVA 面向对象程序设计第10章 Swing编程初级应用
10.1.1 Swing介绍
Swing 是一个为Java设计的GUI( Graphical User Interface,图形用户界面)工具包。 Swing由纯Java实现,不再依赖于本地平台的GUI,因此可以在所有操作系统平台上都保持相同
的界面外观。 独立于本平台的Swing组件称为轻量级组件。 Swing组件位于javax.swing包。 Swing组件采用MVC(Model-View-Controller,即模型-视图-控制器)的设计模式,其中模型
1 使用Jrame类创建窗体 2 布局管理器演练 3 Swing常规用户登录 4 Swing仿QQ登录
10.1 JFrame窗口容器
讲解时间: 25 分钟
技术讲解
1. Swing介绍 2. JFrame窗口容器应用
实践练习
实践时间: 20 分钟
1. 使用Jrame类创建带有标题 的指定位置和大小的窗体
10.1.2 JFrame窗口容器应用
创建JFrame窗体
public class JFrameExample { public void init(){ //创建窗体对象 JFrame frame=new JFrame(); //修改窗体图标为“android.gif” ImageIcon ico=new ImageIcon("E://android.gif"); //设置JFrame窗体的显示位置和大小 frame.setBounds(100,100, 450, 300); //设置窗体的标题 frame.setTitle("JFrame窗体"); //设置窗体的图标 frame.setIconImage(ico.getImage()); //窗体显示 frame.setVisible(true); } public static void main(String[] args) { JFrameExample jfe=new JFrameExample(); jfe.init(); }
java第10章
窗内网,免费看视频,轻松学编程
现在有一个程序需要获取数据,可以把程序作为一个对 象来看,而存放数据的文件看作一个对象,两个对象之间要 传递数据,需要在两个对象之间建立一个管道,管道建好之 后,数据就可以如水流一样从数据源向目的地流动。这里存 放数据的文件是一个广义的概念,它可以代表具体的文件、 内存、网络等。示意图如图10-4所示:
窗内网,免费看视频,轻松学编程
FileOutputStream(文件输出流)类是将数据写 入File或 FileDescriptor对象的输出流。它的方 法大都是从OutputStream继承来的,其构造方 法如下: FileOutputStream(File file) 创建输出流写到 特定的file对象。 FileOutputStream(File file, boolean append) 以追加的方式写入file对象。
窗内网,免费看视频,轻松学编程
控制指针移动的方法。
public
long getFilePointer():获取当前指针指向 文件的位置。 public void seek(long pos):将指针移动到参 数pos指定的位置。 public int skipBytes(int n):指针从当前位置向 后移动n个字节位置,并返回指针实际移动的 字节数。
窗内网,免费看视频,轻松学编程
1.RandomAccessFile的构造函数:
public
RandomAccessFile(File file,String mode); public RandomAccessFile(String name,String mode); mode表示访问方式的字符串,取值为“r”是以 只读的方式打开文件;取值为“rw”是以读写方 式打开文件。
Java中的文件操作与IO处理
Java中的文件操作与IO处理文件操作和IO处理在Java编程中扮演着重要的角色。
通过文件操作,我们可以读取、写入和处理文件;而IO处理则涉及到了输入和输出流的操作。
本文将探讨Java中的文件操作和IO处理的基本知识、常用类和方法,并提供一些示例代码。
一、文件操作文件操作是指对文件进行创建、读取、写入、删除等操作的过程。
在Java中,我们可以使用File类和相关的方法来进行文件操作。
1. 创建文件要创建一个文件,我们可以使用File类的createNewFile()方法。
以下是一个创建文件的例子:```javaFile file = new File("example.txt");try {if (file.createNewFile()) {System.out.println("文件创建成功!");} else {System.out.println("文件已存在!");}} catch (IOException e) {e.printStackTrace();}```上述代码中,我们通过调用createNewFile()方法创建了一个名为"example.txt"的文件。
如果文件创建成功,将会打印"文件创建成功!",否则打印"文件已存在!"。
2. 读取文件要读取一个文件的内容,我们可以使用FileReader和BufferedReader类。
以下是一个读取文件的例子:```javaFile file = new File("example.txt");try (BufferedReader reader = new BufferedReader(new FileReader(file))) {String line;while ((line = reader.readLine()) != null) {System.out.println(line);}} catch (IOException e) {e.printStackTrace();}```上述代码中,我们通过创建一个FileReader对象和一个BufferedReader对象,逐行读取文件内容并打印出来。
Java面试题详解Java中的文件操作
Java面试题详解Java中的文件操作Java是一种面向对象的编程语言,广泛应用于各种开发领域。
在Java的面试过程中,文件操作是一个常见的考察点。
文件操作是指通过Java程序来创建、读取、写入、删除文件或者目录的操作。
在本文中,我们将详细解析Java中的文件操作相关的面试题。
一、文件操作的基本概念在Java中,文件操作主要涉及以下几个方面的内容:1. 文件路径:文件路径用于定位文件在计算机中的位置。
在Java中,文件路径可以分为绝对路径和相对路径。
绝对路径是指从计算机的根目录开始的路径,而相对路径是相对于Java程序运行的当前目录的路径。
2. 文件创建与删除:通过Java程序可以创建新的文件,并在不需要的时候进行删除。
文件的创建和删除可以使用Java的File类进行操作。
3. 文件读取与写入:Java提供了丰富的API来实现文件的读取和写入。
通过使用Java的输入输出流,我们可以从文件中读取数据或将数据写入文件中。
4. 目录操作:除了文件的操作,Java中还可以对目录进行操作。
我们可以创建、删除、遍历目录,并对目录中的文件进行读取和写入。
二、面试题解析下面是几个常见的与文件操作相关的面试题,并给出了详细的解答:1. 如何判断一个文件是否存在?可以使用Java的File类的exists()方法来判断一个文件是否存在。
该方法返回一个boolean类型的值,如果文件存在则返回true,否则返回false。
2. 如何创建一个文件?可以使用Java的File类的createNewFile()方法来创建一个新文件。
该方法返回一个boolean类型的值,如果文件创建成功则返回true,否则返回false。
3. 如何读取文件中的内容?可以使用Java的输入流来读取文件中的内容。
可以使用FileInputStream或者BufferedReader等类来实现文件的读取操作。
4. 如何写入内容到文件中?可以使用Java的输出流来向文件中写入内容。
第10章(第2版)-Java程序设计教程(第2版)-牛晓太-清华大学出版社
10.1.2 多线程编程的难点
3.调试程序
❖由于操作系统调度的随机性,每次多线程程序的运行顺序 都不一致。若程序有Bug,并不是每次运行都会导致错误的 结果,某些调度顺序可能会得到正确的结果。在调试程序时, 有可能该Bug一直都无法重现,大大增加了调试程序的难度。
10.2 线程的实现
❖10.2.1 创建Java线程 ❖10.2.2 Java线程的状态 ❖10.2.3 Java线程的优先级 ❖10.2.4 守护线程 ❖10.2.5 终止另一个线程
10.2.2 Java线程的状态
3.阻塞状态(Blocked) ❖当线程想要获得一个锁,而这个锁被其它线程占有,则该 线程进入阻塞状态。当其它线程释放了锁,而调度机制又允 许此线程获得该锁,则线程就从阻塞状态变更为可执行状态。
4.等待状态(Waiting) ❖为实现同步,线程执行时需要检测一些条件,只有条件得 到满足才能继续执行。若条件未得到满足,则线程进入等待 状态。当其它线程完成某些任务后,会发出一个信号唤醒处 于等待状态的线程,这些线程再重新检测条件是否得到了满 足。
10.1.1 多线程编程的优势
3.使GUI更有效率
❖使用单线程处理GUI事件,必须使用循环对随时可能发生 的GUI事件进行扫描,在循环内部除了扫描GUI事件外,还 要执行其他的程序代码。若这些代码太长,则GUI事件会被 “冻结”,直到这些代码被执行完为止。现代的GUI框架 (如SWING、AWT和SWT)中都使用了一个单独的事件分 派线程(event dispatch thread,EDT)来对GUI事件进 行扫描,可有效降低事件处理的复杂性。
10.1.2 多线程编程的难点
1.访问共享资源
❖有时多个线程会访问同一资源,若不做任何限制,让多个 线程以任意的调度顺序对该资源进行任意的读写操作,则可 能出现丢失修改、读脏数据等错误。因此,多线程访问共享 资源时,必须通过加锁实现互斥访问。若加锁方式不正确, 则可能造成死锁,使程序无法继续运行。
java文件操作(全)
File操作(最全的)1.文件1.标准文件:就像图片,音乐文件等。
2.目录文件:也就是平常所说的文件夹。
3.虚拟内存文件:系统在运行程序时生成的临时性文件。
2.文件的路径1.相对路径:相对于某一文件的路径,形象地说是把两文件的绝对路径相同的部分砍掉,剩下的就是相对路径如:A文件是"D:\My Documents\StudySample\src\cn\xmh",B文件是"D:\My Documents\StudySample\src\netjava\cjl",则B相对A的路径是"\netjava\cjl";2.绝度路径:从磁盘根目录算起的路径名如:"G:\TDDOWNLOAD\数据结构"。
3.File是一个类,位于java.io包中。
我们可以用File类创建文件对象,并对文件对象进行各种操作,如读写数据。
4.File类中的构造器以及各种方法1.构造器1.最常用的一种,根据字符串型的路径名创建文件对象File(String pathname)示例:String path = "D:\\My Documents\\StudySample";java.io.File file = new java.io.File(path);2.在一个父目录对象下面创建一个名字为child的文件对象,child为要创建的文件的名字File(File parent,String child)//这里的parent是File类型的,也就是说它是文件对象File(String parent,String child)//这里的parent是String类型的,它代表的是父目录的路径2.文件对象操作方法1.exists():判断File对象指向的文件是否存在,返回一个boolean类型的值,true或者false。
2.isDirectory():判断File对象指向的文件是否为目录,返回一个boolean类型的值,true或者false。
java基础----第10章
程序10.1 程序10.1
EventDemo.java
setSize(350,100); setLocation(200,200); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } class AL implements ActionListener{ // 内部类 public void actionPerformed(ActionEvent e){ if((JButton)e.getSource()==btn1) tf.setText("你点击了OK按钮"); // 修改文本框的内容 else if((JButton)e.getSource()==btn2) tf.setText("你点击了Cancel按钮"); } } public static void main(String[]args){ EventDemo frame = new EventDemo(); } }
ActionEvent AdjustmentEvent AWTEvent ComponentEvent ItemEvent TextEvent FocusEvent ContainerEvent InputEvent PaintEvent WindowEvent MouseEvent KeyEvent
表10-2 事件监听器接口、方法及处理的事件 10- 事件监听器接口、
监听器接口 ActionListener ItemListener 接口中的方法 actionPerformed(ActionEvent e) itemStateChanged(ItemEvent e) mouseClicked(MouseEvent e) mouseEntered(MouseEvent e) mouseExited(MouseEvent e) mousePressed(MouseEvent e) mouseReleased(MouseEvent e) mouseMoved(MouseEvent e) mouseDragged(MouseEvent e) keyPressed(KeyEvent e) keyReleased(KeyEvent e) keyTyped(KeyEvent e) focusGained(FocusEvent e) focusLost(FocusEvent e) 所处理的事件 ActionEvent ItemEvent
java文件操作
JAVA的文件操作【转】Posted on 2009-12-03 17:20 火之光阅读(42242) 评论(1) 编辑收藏11.3 I/O类使用由于在IO操作中,需要使用的数据源有很多,作为一个IO技术的初学者,从读写文件开始学习IO技术是一个比较好的选择。
因为文件是一种常见的数据源,而且读写文件也是程序员进行IO编程的一个基本能力。
本章IO类的使用就从读写文件开始。
11.3.1 文件操作文件(File)是最常见的数据源之一,在程序中经常需要将数据存储到文件中,例如图片文件、声音文件等数据文件,也经常需要根据需要从指定的文件中进行数据的读取。
当然,在实际使用时,文件都包含一个的格式,这个格式需要程序员根据需要进行设计,读取已有的文件时也需要熟悉对应的文件格式,才能把数据从文件中正确的读取出来。
文件的存储介质有很多,例如硬盘、光盘和U盘等,由于IO类设计时,从数据源转换为流对象的操作由API实现了,所以存储介质的不同对于程序员来说是透明的,和实际编写代码无关。
11.3.1.1 文件的概念文件是计算机中一种基本的数据存储形式,在实际存储数据时,如果对于数据的读写速度要求不是很高,存储的数据量不是很大时,使用文件作为一种持久数据存储的方式是比较好的选择。
存储在文件内部的数据和内存中的数据不同,存储在文件中的数据是一种“持久存储”,也就是当程序退出或计算机关机以后,数据还是存在的,而内存内部的数据在程序退出或计算机关机以后,数据就丢失了。
在不同的存储介质中,文件中的数据都是以一定的顺序依次存储起来,在实际读取时由硬件以及操作系统完成对于数据的控制,保证程序读取到的数据和存储的顺序保持一致。
每个文件以一个文件路径和文件名称进行表示,在需要访问该文件的时,只需要知道该文件的路径以及文件的全名即可。
在不同的操作系统环境下,文件路径的表示形式是不一样的,例如在Windows操作系统中一般的表示形式为C:\windows\system,而Unix上的表示形式为/user/my。
java 操作文件
java 操作文件在日常编程中,文件操作是一个非常常见的需求。
无论是读取文件内容、写入文件数据还是对文件进行复制、删除等操作,都需要用到文件操作。
而在Java语言中,文件操作也是非常方便和灵活的。
本文将介绍如何使用Java语言进行文件操作。
首先,我们需要了解如何在Java中创建文件。
在Java中,可以使用File类来创建文件。
File类提供了一系列的方法来操作文件,比如创建文件、删除文件、判断文件是否存在等。
下面是一个简单的例子,演示了如何在Java中创建一个文件:```java。
import java.io.File;import java.io.IOException;public class CreateFileExample {。
public static void main(String[] args) {。
File file = new File("test.txt");try {。
if (file.createNewFile()) {。
System.out.println("File created: " + file.getName());} else {。
System.out.println("File already exists.");}。
} catch (IOException e) {。
System.out.println("An error occurred.");e.printStackTrace();}。
}。
}。
```。
在上面的例子中,我们首先创建了一个File对象,然后调用createNewFile()方法来创建文件。
如果文件创建成功,就会输出"File created: test.txt";如果文件已经存在,就会输出"File already exists."。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用字符串表示的路径分隔符,用于分隔多个路径,对 于Windows系统是字符串";"
10.1
表10-2
常用方法
文件对话框类FileDialog
解释
取得目录字符串 根据字符串设置目录 取得用户选择的文件名,如果用户单击 “取消”而没有选择文件,则返回为空 设置待用户选择的默认的文件名
文件对话框的常用方法
public String getDirectory() public void setDirectory(String dir) public String getFile() public void setFile(String file)
常用方法
public boolean delete() public boolean exists() public boolean mkdir() public boolean renameTo(File dest) public boolean setReadOnly() public File getParentFile()
文件对话框的构造方法有三种形式,其中第三种更为常用,
如表10-1所示。
10.1
表10-1
文件对话框类FileDialog
解释
创建一个参数parent指定拥有者的文件对话框
创建一个参数parent指定拥有者、参数title指 定标题的文件对话框 创建一个参数parent指定拥有者、参数title指 定标题、参数mode指定对话框类型的文件对话 框。Mode的可取值为 FileDialog.LOAD 对话框中有“打开”按钮 FileDialog.SAVE 对话框中有“保存”按钮
public File[] listFiles()
用字符表示的路径分隔符,用于分隔多个路径,对于 Windows系统是字符';' 用字符串表示的路径字符串分隔符,对于Windows系 统是字符串"\" 用字符表示的路径字符串分隔符,对于Windows系统 是字符'\'
10.2
文件类File
File类提供了许多文件操作的方法,表 10-5给出了其中最常用 的方法,在10.6节将给出一个调用这些方法的例子。 表10-5 File类的常用方法
考虑到不同的操作系统的路径分隔符是不同的,而Java语言是跨平台 的编程语言,所以Java在文件类中定义了一些静态的类变量用于表示这些 分隔符,当程序运行在不同平台上时,这些分隔符自动变为该平台的分隔 符,见表10-4。 表10-4 文件类的静态类变量
类变量 解释
public static final String pathSeparator
解释
删除文件对象对应的文件或空的目录 判断文件对象对应的文件或目录是否存在 创建文件对象对应的目录 更改文件对象对应的文件名,参数dest指定新 的文件对象 设置文件对象对应的属性为只读 获取父文件对象
public boolean createNewFile() 创建文件对象对应的文件
10.2
常用方法
本章学习目标 本章学习关于文件的编程,包括4部分内容,即:选择文件对 话框、对文件的操作、文件的读写和运行可执行文件。学习本 章应掌握以下内容: •掌握调用文件对话框并选择一个文件或文件夹的方法。 •掌握数据流、字符流、字节流的概念和顺序读写文件、随机 读写文件的概念。 •掌握使用流技术读写文本文件和二进制文件的方法。 •掌握文件的各种操作,包括获取和设置文件的属性、创建文 件夹、文件和文件夹的重命名、文件和文件夹的删除等等。 •掌握在Java程序中调用可执行文件的方法。
10.1
文件对话框类FileDialog
文件对话框FileDialog类是对话框Dialog的子类 文件对话框两种,究竟使用哪一种,由构造函数的参数决定。
相对文件对话框FileDialog而言对话框Dialog是万能的,但
是用户要做更多的编程工作;而文件对话框功能单一,使用方便。 1.创建文件对话框
public void 设置文件名过滤器 setFilenameFilter(FilenameFilter filter)
实例 使用对话框选择文件 方法1:显式地创建窗口事件适配器类 方法2:创建窗口事件适配器对象时嵌套创建适配器类 方法3:创建窗口事件适配器对象时嵌套创建适配器类
10.2
文件类File
要对文件进行读写等操作,需要使用文件类File,本节介绍文件类的 基本内容。表10-3给出了文件类的构造方法。需要说明的是,文件类实例 化以后得到一个文件对象,但是文件对象并不是一个具体的文件。 表10-3 文件类的构造方法
构造方法
public File(String pathname) public File(String parent, String child) public File(File parent, String child)
文件对话框的构造方法
构造方法
public FileDialog(Frame parent) public FileDialog(Frame parent, String title) public FileDialog(Frame parent, String title, int mode)
2.文件对话框的常用方法 文件对话框的方法主要用于对文件对话框的特性进行设置以及获取选 择的结果,除了从Dialog类继承的方法之外,常用的方法见表10-2所列。
解释
根据文件名创建文件对象,文件名包 括路径 根据目录名和文件名创建文件对象, 文件名不包括路径 根据文件对象和文件名创建文件对象, 文件名不包括路径
在这3个构造方法中,方法1最为简单,但是如果要在同一目录中创建 多个文件,由于方法2和方法3的文件名和目录是分开的,使用起来更加方 便。
10.2
文件类File