电子商务网站建设与管理期末考试题,十大接单推广app平台,如何在百度发布广告,南京市浦口区城乡建设局网站1、File类操作文件或目录属性
#xff08;1#xff09;在Java程序中通过使用java.io包提供的一些接口和类#xff0c;对计算机中的文件进行基本的操作#xff0c;包括对文件和目录属性的操作、对文件读写的操作#xff1b;
#xff08;2#xff09;File对象既可以表示…1、File类操作文件或目录属性
1在Java程序中通过使用java.io包提供的一些接口和类对计算机中的文件进行基本的操作包括对文件和目录属性的操作、对文件读写的操作
2File对象既可以表示文件也可以表示目录在程序中一个File对象可以代表一个文件或目录
3利用File类可以来对文件或目录进行基本操作。它可以查出与文件相关的信息如名称、最后修改日期、文件大小等
4File类的常用构造方法如下所示 1File (String pathname)用指定的文件路径构造文件 2File(String dir,String subpath)在指定的目录下创建指定文件名的文件dir参数指定目录路径subpath参数指定文件名 3File(File parent,String subpath)根据一个文件对象和一个字文件构造文件对象parent参数指定目录文件subpath参数指定文件名。
5File类的常用方法如下所示 1boolean exists()测试文件是否存在 2String getAbsolutePath()返回此对象表示的文件的绝对路径 3String getName()返回此对象表示的文件的名称 4String getParent()返回此File对象的路径的上一级如果路径名没有上一级则返回null; 5boolean delete()删除此对象指定的文件 6boolean createNewFile()创建空文件不创建文件夹 7boolean isDirectory()测试此File对象表示的是否是目录 8boolean mkdir()创建一个目录它的路径名由当前File由当前File对象指定 9boolean mkdirs()创建包括父目录的目录
关于使用File类的相关代码
import java.io.File;public class FileTest {public static void main(String[] args) {File file1 new File(F:\\a.txt);File file2 new File(F:/demo);// boolean exists()测试此抽象路径名表示的文件或目录是否存在。如果存在返回true如果不存在返回falseboolean result1 file1.exists();System.out.println(file1对象指向的文件存在result1);System.out.println(file2对象指向的目录存在file2.exists());// boolean isDirectory()测试此抽象路径名表示的文件是否是一个目录。
// boolean isFile()测试此抽象路径名表示的文件是否是一个标准文件。System.out.println(file1对象指向的是一个文件file1.isFile());//trueSystem.out.println(file1对象指向的是一个目录file1.isDirectory());//falseSystem.out.println(file2对象指向的是一个文件file2.isFile());//falseSystem.out.println(file2对象指向的是一个目录file2.isDirectory());//true// String getName() 返回由此抽象路径名表示的文件或目录的名称。System.out.println(file1对象指向的文件名称file1.getName());//a.txtSystem.out.println(file2对象指向的目录名称file2.getName());//demo// boolean delete()删除此抽象路径名表示的文件或目录。删除成功返回true删除失败返回falseSystem.out.println(file1对象指向的文件删除成功file1.delete());System.out.println(file2对象指向的目录删除成功file2.delete());}
2、认识Java的流
1读文件是指把文件中的数据读取到内存中
2写文件是把内存中的数据写到文件中
3Java程序通过流来读写文件
4流是指一连串流程的字符是以先进先出的方式发送和接收数据的通道
5流分为输入流和输出流输入/输出流是相对于计算机内存来说的如果数据输入到内存则为输入流如果从内存中输出则为输出流
6Java的输出流主要有OutputStream类和Writer类作为基类输入流主要由InputStream类和Reader类作为基类
7在java.io包中封装了许多输入/输出流的API在程序中这些输入/输出流类的对象称为流对象
8可以通过流对象将内存中的数据以流的方式写入文件也可以通过流对象将文件中的数据以流的方式读取到内存
9构造流对象时往往会和数据源如文件联系起来。数据源分为源数据源和目标数据源。输入流关联的是源数据源输出流关联的是目标数据源
10输入/输出流又分为字节流和字符流两种形式 1字节流是8位通用字节流其基本单位是字节。字节流的基类是InputStream类和OutputStream类它们是抽象类。 2字符流是16位Unicode字符流基本单位是Unicode字符。字符流最适合用来处理字符串和文本因为它们支持国际上大多数的字符集和语言。字符流的基类是Reader类和Writer类它们是抽象类。
11一个被访问的流基本特征都是通过实现InputStream类、OutputStream类、Reader类和Writer类这4个抽象类的方法建立的。
12InputStream类常用方法如下 1int read()从输入流中读取下一个字节数据 2int read(byte[ ] b)从输入流中读取数据并将数据存储在缓冲区数组b中返回实际读取的字节数 3int read(byte[] b,int off,int len)从输入流中读取最多len长度的字节保存到字节数组中保存的位置从off开始 4void close()关闭输入流。
InputStream类的常用子类有FileInputStream用于从文件中读取数据。
13OutputStream类常用方法如下 1void write()将指定的字节数据写入此输入流中 2void write(byte[ ] buf)将数组buf中的所有字节写入此输出流中 3void write(byte[ ] b,int off,int len)将字节数组中从偏移量off开始的长度为len的字节数据输出到输出流中 4void close()关闭输出流
OutputStream类的常用子类有FileOutputStream,用于向文件写数据。
14Reader类常用方法如下 1int read(byte[ ] c)从输入流中最多读取c.length个字符保存到字符数组c中返回实际读取的字符数 2int read(char[ ] c,int off,int len)从输入流中读取最多len个字符保存到字符数组c中保存的位置从off开始返回实际读取的字符数 3void close()关闭流。
Reader类的常用子类有BufferedReader接受Reader对象作为参数并对其添加字符缓冲器。
15Writer类常用方法如下 1void write(String str)将str字符串里包含的字符输出到指定的输出流中 2void write(String str,int off,int len)将str字符串里从off位置开始长度为len的多个字符输出到输出流中 3void close()关闭输出流 4void flush()刷新输出流。
Writer类的常用子类有BufferedWrite用于将数据缓冲到字符输出流。
16在操作上字节流和字符流还有一个区别字符流在操作时使用了缓冲区内部存储器而字节流在操作时直接操作文件不会使用缓冲区
17流中的方法在出现错误时都会抛出IOException异常。
关于InputStream的相关代码
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;public class FileInputStreamTest {public static void main(String[] args) throws IOException {//创建一个File类对象File file new File(F:/test.txt);//创建FileInputStream类对象FileInputStream fileInputStream new FileInputStream(file);//通过fileInputStream对象调用方法从file对象指向的文件中读取数据
// int read(byte[] b)从此输入流中将最多 b.length 个字节的数据读入一个 byte 数组中。//创建一个byte类型的数据byte[] bytes new byte[1024];int num fileInputStream.read(bytes);System.out.println(从流中读取的字节数num);//遍历bytes数组输出数组中存储的数据for (int i 0;inum;i){System.out.print((char)bytes[i]);}fileInputStream.close();}
}关于OutputStream的相关代码
import java.io.FileOutputStream;
import java.io.IOException;public class FileOutputStreamTest {public static void main(String[] args) throws IOException {FileOutputStream fileOutputStream new FileOutputStream(F:/test.txt,true);//通过fileOutputStream对象调用方法向F:/test.txt文件中写入数据//将数据字符串“asdfghjkl”写入文件中String str asdfghjkl;//将字符串转换为byte类型的数组byte[] bytes str.getBytes();fileOutputStream.write(bytes);System.out.println(数据写入完毕);//关闭流fileOutputStream.close();}
}