1、File类:File类位于java.io包中,我们可以通过File对象的方法创建,删除,修改和查找文件。
例:创建文件:java.io.File file = new java.io.File(path);
删除文件:file.delete();
1)文件系统规则:
1、文件的名字包括文件的路径名和扩展名。
2、同一目录下不会存在同名的目录和文件
3、相对路径是不以路径分隔符开头的文件路径,绝对路径是以根目录开头的路径。
例:文件绝对路径:String path = "D:\\a\\b\\c\\d";
c文件相对d的路径:String path2 = "b\\c.txt";
d文件相对c的路径:String path3 = "..\\d.txt";
4、不同的系统中,分割符是不同的。在win系统中,目录分割符和路径分割符分别是"\"和";",而liunx系统中,目录 分割符和路径分割符分别是"/"和":"。
2)File类的属性:public static Stirng pathSeparator:表示当前操作系统的路径分隔符。
public static String separator:表示当前操作系统的名字分隔符
3)File类的构造器:File(File parent,String child):表示在一个父文件下创建一个child文件。
File(String pathName):创建一个指向pathname的文件对象。
File(String parent,String child):创建一个以parent字符串为父目录名的指向child的文件对象。
后两个构造器只是实例化了文件对象,但是并没有创建文件。
4)File类的方法: boolean exists():判断文件是否存在
例:if(temFile.exists())
String getName():得到文件名字
例:String Name = temFile.getName();
boolean isDirectory():判断文件是否是目录
例:if(temFile.isDirectory())
boolean isFile():判断文件是否是真实文件
例:if(temFile.isFile())
long length():得到文件长度
例:tem.length()
File[] listFiles():将文件下一级的目录和真实文件作为一个数组返回
例:File[] subFile = dirFile.listFiles();
static File[] listRoots():将每个逻辑驱动器作为返回文件的一个元素
例:File fe = File.listRoots();
boolean mkdir():根据文件名字创建一个目录
boolean mkdirs():若文件名字有多级目录,可一次创建
boolean delete():删除文件
boolean createNewFile():创建一个新文件
2、递归:指一种计算方法或方法调用的规则,简单地说就是自己调用自己,所用的方法是相同的。递归算法常用于处理一些无法穷举的计算,但这些计算要有一定的规律。
递归的缺点:容易出现死循环,导致内容溢出。
例: public static void main(String[] args) {
String input=JOptionPane.showInputDialog("please input the number of the disks you want me move.");
int num=Integer.parseInt(input);
move(num,from,mid,to);
}
private static void move(int num, String from2, String mid2, String to2) {
if(num==1){
System.out.println("move disk 1 from "+from2+" to "+to2);
}else {
move(num-1,from2,to2,mid2);
System.out.println("move disk "+num+" from "+from2+" to "+to2);
move(num-1,mid2,from2,to2);
}
}
3、异常:java中的异常为java.lang包下的Exception类。
关键字:1、try:catch关键字常用在try catch或在try catch finally中定义异常处理块,每个try块都必须有一个catch或finally语句
例:try{
可能引发异常的块
}
catch{
处理异常的代码
}
finally{
有无异常都处理的语句
}
2、catch:catch关键字常用在try catch或在try catch finally中定义异常处理块。
3、finally:用来定义在try catch finally中定义的块。
4、throw: 用于引发异常。throw 语句将 java.lang.Throwable 作为参数,Throwable 在调用栈中向上传播,直到被适当的 catch 块捕获。
例:if (error){
throw new IOException("error reading file");
}
5、throws:应用于方法,以便指出方法引发了特定类型的异常。throws 关键字将逗号分隔的java.lang.Throwables 列表作为参数。如果要在 try-catch 块中包含带 throws 子句的方法的调 用,必须提供该方法的调用者。
例:public class MyClass{
public method readFile(String filename) throws IOException{
}
}
4、流:输入和输出的抽象。
1)流的分类:按方向分为:输入流和输出流
按性质分为:字节流:按最小单位读取的流,直接连接到输入流的源。
缓冲流:包装基础流,提高缓冲功能。
对象流:对象流的读取就是java对象序列化(只要是对象,就要进行序列化)。
基与具体数据类型的流:从流中读取指定数据类型的数据。
除字节流外,其它流均不可直接连接到输入流的源。
2)InputStream定义的方法:int avialavle():可读取的有效字节长度。
例:byte[] array = new byte[ins.avialavle()];
void close():关闭流对象。
例:ins.close();
int read():从流中读取数据,若流已到结尾,则返回-1。
例:int read(byte[] b);
3)OutputStream定义的方法:void close():关闭流。
例:out.close();
void flush():将有可能还保存在内存中的数据强制输出到目标中。
例:out.flush();
void write(byte[] b):将数组中内容输出到流中
例:out.write(i);
void write(byte[] b,int off,int len):将数组中一部分写入流中
void write(int b):向流中写入一个字节
4)FileInputStream的构造器:FileInputStream(File file):通过文件对象做参数构造输入流对象
FileInputStream(String name):传入的字符串连接到指定文件的输入流
例:InputStream ins = new FileInputStream(fileName);
5)FileOutputStream的构造器:FileOutputStream(File file):构造输出到指定文件的输出流
FileOutputStream(File file,boolean append):append表示输出到文件的数据是否在已有数据后
FileOutputStream(String name) 例:OutputStream out = new FileOutputStream(txtName);
FileOutputStream(String name,boolean append)
6)BufferedInputStream的构造器: BufferedInputStream(InputStream in):创建一个默认缓冲区大小的缓冲对象
例:BufferedInputStream bis = new BufferedInputStream(ins);
BufferedInputStream(InputStream in,int size):指定缓冲区大小,构造缓冲输入函数
7)BufferedOutputStream的构造器:BufferedOutputStream(OutputStream out):使用默认缓冲区构造缓冲输入流
例:BufferedOutputStream bos = new BufferedOutputStream(out);
BufferedOutputStream(OutputStream out,int size):指定缓冲大小
分享到:
相关推荐
字节流、文件流、文件操作、字节流文件流相互转换,流的包装
io流总结io流总结io流总结io流总结io流总结io流总结io流总结
总结来说,Java中通过URL获取网络位置上的文件流涉及创建URL对象,建立连接,打开输入流,处理数据并关闭流。这个过程可以封装到工具类中,方便在不同场景下复用。在实际编程中,还需要考虑错误处理和性能优化。
根据提供的文件信息,...以上就是从给定文件的标题、描述、标签以及部分内容中总结出来的知识点,涵盖了Java POST请求发送与接收文件流的基础操作以及Spring MVC中处理文件上传的相关内容。希望这些信息对你有所帮助。
NPOI是一个强大的开源库,主要...总结,NPOI的文件流操作是处理Excel文档的强大工具,尤其适用于处理大文件和需要高效性能的场景。通过理解和掌握这些高级文件流技术,开发者可以编写出更加健壮和高效的.NET应用程序。
总结,Delphi中的`TFileStream`提供了方便的文件流操作,通过它我们可以高效地读取、写入文件。结合字节数组,可以实现文件的复制或其他数据处理任务。在实际编程中,应根据具体需求选择合适的读写策略,以平衡性能...
总结,C#的文件流提供了强大且灵活的文件操作功能。通过熟练掌握文件流的使用,开发者可以高效地处理文件数据,实现各种应用场景,如日志记录、数据持久化和文件传输等。在学习过程中,实践是关键,尝试编写不同的...
总结一下,本实例展示了如何在ASP.NET(C#) Web API中利用文件流实现文件下载。通过创建HTTP响应,设置正确的响应头,并将文件内容作为流发送,我们可以方便地让客户端接收到文件并保存到本地。这种方法简单、高效,...
总结,C#文件流是进行文件操作的基础,通过学习和实践文件流的使用,开发者能够更高效地处理各种文件任务,无论是简单的文本读写还是复杂的二进制数据处理。在实际开发中,熟练掌握文件流的使用,将极大地提升代码的...
总结来说,"文件流序列化"在Delphi中是一个重要的概念,它允许开发者将对象的状态转换为文件流,便于数据持久化和跨进程通信。通过理解TStream接口和相关组件的使用,我们可以有效地在文件系统中存储和检索对象数据...
### 通过文件流读取本地图片显示在JSP页面的方法详解 #### 一、概述 在Web开发中,经常会遇到需要将本地存储的图片显示在前端界面的需求。本文将详细介绍如何利用Java中的文件流技术来实现这一功能。具体来说,...
Java中主要有两种类型的文件流:字节文件流和字符文件流。 - 字节文件流:主要用于处理二进制数据,例如图片、音频等。 - 字符文件流:主要用于处理文本数据,如文本文件。 #### 3. 缓冲流(Buffered Stream) ...
总结,Delphi中的文件流提供了强大的文件操作能力,无论是在磁盘上读写文件,还是在内存中处理数据,都可通过TStream及其子类实现。掌握文件流的使用,能极大提升Delphi程序的数据处理效率和灵活性。在实际编程中,...
总结来说,PHP文件流机制提供了一种高效且灵活的方式来处理大文件上传,结合断点续传功能,可以极大地提高用户在上传大文件时的体验。通过合理地组织代码和处理错误,我们可以创建一个稳定、可靠的文件上传系统。
在Java编程语言中,流(Stream)和文件操作是核心概念,它们对于处理输入和输出数据至关重要。在本文中,我们将深入探讨Java流和文件处理的一些关键知识点。 首先,流是Java中的一个抽象概念,它代表了数据的有序...
下面将对Java文件操作进行详细的总结,并提供相关的示例。 1. **File类**:Java中的`File`类是所有文件和目录操作的基础。它提供了创建、删除、重命名文件和目录的方法,以及获取文件属性如大小、最后修改时间等。...
总结来说,C#通过文件流方式读取DBF文件涉及到对文件结构的深入理解,包括头部信息、字段定义和数据记录的解析。通过`FileStream`和`BinaryReader`,我们可以逐字节地读取和处理文件内容。在没有第三方库支持的情况...
### 使用文件流操作文本文件的重要性及应用场景 在计算机科学领域,使用文件流操作文本文件是一项基本而关键的技术。本文将详细介绍文件流的概念及其在文本文件处理中的应用,并深入探讨掌握这项技能的重要性和实际...
通过文件流进行读取并自计算字段偏移量,可以有效地处理这些文件,即使在缺乏直接偏移量信息的老版本DBF文件中也是如此。对于程序员而言,掌握这种技术可以帮助我们处理那些无法用现代数据库系统直接读取的历史数据...
总结来说,图片与流文件的转换是IT领域中重要的数据处理技术,广泛应用于网络通信、存储和数据处理等多个场景。理解和掌握这项技术对于开发人员来说至关重要,因为它能提高数据传输效率,优化系统性能,并提供更灵活...