Java文件Io基础

本文为java文件应用中一些基础知识的例子和总结,仅供参考

File file2 = new File("D:/test.txt");//创建文件对象,File类中的构造方法中的参数为字符串,表示的是文件的地址,其中,在绝对路径中,磁盘的编号后的斜杆可以为“\\”(Windows系统中路径标识),也可以为“/”(跨平台)。

制定路径之下创建的文件对象,不代表着该路径之下有这个文件,也就是说File对象无关实际文件的位置。

可以通过File.exists()方法来确定指定文件路径下创建的文件对象是否真实存在,若不存在,通过file2.createNewFile();语句来创建文件。

BufferedWriter文件写:

先创建文件写对象:FileWriter fw = new FileWriter(file2);,构造方法中的参数为文件对象。

然后创建文件写缓冲:BufferedWriter bw = new BufferedWriter(fw);

最后通过文件写缓冲对象的writer()方法实现文件写:bw.write(string);

值得注意的是,使用BufferedWriter.write()方法写文件时,文件写操作时覆盖的而不是追加,也就是说,本次的文件写操作的内容会覆盖文件中所有内容。

在文件写操作结束时,记住要将文件写缓冲关闭掉:bw.close();

BufferedReader文件读:

fr = new FileReader(file2);

BufferedReader br = new BufferedReader(fr);

System.out.println(br.readLine());

br.close();

基本上与文件写类似,文件读对最后缓冲是否关闭没有要求(最好关闭),而且读文件时使用的是BufferedReader.readLine()方法进行逐行读。

值得注意的是:若在readLine方法前调用了BufferedReader.read()方法时,readLine方法返回的字符串会漏掉第一个字符,因为read方法已经将其读出来了。

BufferedReader.read()方法返回的是读文件操作时读到的那一行的第一个字符对应的Ascll码值。

以下为代码片段

File file = new File(".");
		System.out.println(file.getName());
		System.out.println(file.getParent());

		File file2 = new File("D:/test.txt");
		System.out.println(file2.getName());//获取文件名
		System.out.println(file2.getParent());//获取文件上级目录名
		if (!file2.exists())
			try {
				file2.createNewFile();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		String time = String.valueOf(System.currentTimeMillis());//System.currentTimeMillis()方法返回的是距离1970年1月1日的毫秒数
		FileWriter fw;
		FileReader fr;
		try {
			fw = new FileWriter(file2);
			BufferedWriter bw = new BufferedWriter(fw);
			bw.write(time);
			bw.close();

			fr = new FileReader(file2);
			BufferedReader br = new BufferedReader(fr);
			System.out.println(br.readLine());
			br.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		System.out.println(time);
	}
时间: 2024-10-02 19:07:23

Java文件Io基础的相关文章

基础知识——Java文件IO

创建文件 ? ? File file=new File("c:/test.txt"); if (!file.exists()) { try { file.createNewFile(); } catch (IOException e) { e.printStackTrace(); } ? ? 得到目录下文件名列表 ? ? 同样是file,传入目录的路径即可,得到名为dir的File类,利用dir的isDirector方法即可判断是否为目录 ? ? 然后用file的list()方法得到目

Java之------IO基础到加强(二)

RandomAccessFile 1.随机访问文件,自身具备读写的方法 new RandomAccessFile()之后,若文件不存在会自动创建,存在则不创建.--该类其实内部既封装了字节输入流,又封装了字节输出流. 该类若用write()方法写整数,每次只写它的最后一个字节.而采用writeInt()方法,则可把一个整数完整地写入. 2.通过skipBytes(int x),seek(int x)来达到随机访问 通过seek方法设置数据的指针就可以实现对文件数据的随机读写.InputStrea

Java文件IO操作应该抛弃File拥抱Path和Files

Java7中文件IO发生了很大的变化,专门引入了很多新的类: import java.nio.file.DirectoryStream;import java.nio.file.FileSystem;import java.nio.file.FileSystems;import java.nio.file.Files;import java.nio.file.Path;import java.nio.file.Paths;import java.nio.file.attribute.FileAt

简易记事本(演示java文件io)

演示效果:  打开txt文件 输入文字,保存 选择保存地址 生成文件 源代码: 1 package io; 2 import java.io.*; 3 import java.awt.*; 4 import java.awt.event.ActionEvent; 5 import java.awt.event.ActionListener; 6 7 import javax.swing.*; 8 9 10 11 public class text extends JFrame implement

Java文件IO流的操作总结

流就是管道,向管道里面写数据用输出流.write 从管道里面读数据,用输入流.read 流,按照不同的维度有不同的分类,按照从流中每次读取数据单位不同,划分为字节流字符流 按照流-对应操作的角色的不同(是IO设备,还是其他流)是否能够直接向特定的IO设备如文件.网络.磁盘等,能够直接与这些进行读写的称之为节点流, 对节点流进一步封装的流,通过封装后的流来实现读写功能,处理流也被称为高级流 流和数组不一样,不能通过索引读写数据.在流中,你也不能像数组那样前后移动读取数据,除非使用RandomAcc

Java文件(io)编程——简易记事本开发

1 public class NotePad extends JFrame implements ActionListener{ 2 3 //定义需要的组件 4 JTextArea jta=null; //多行文本框 5 6 JMenuBar jmb=null; //菜单条 7 JMenu jm1=null; //菜单 8 JMenuItem jmi1=null,jmi2=null; //菜单项 9 10 public static void main(String[] args) { 11 N

Java文件(io)编程——文件字节流的使用

案例1: 演示FileInputStream类的使用(用FileInputStream的对象把文件读入到内存) 首先要在E盘新建一个文本文件,命名为test.txt,输入若干字符 1 public class Demo_2 { 2 3 public static void main(String[] args) { 4 File f=new File("e:\\test.txt"); //得到一个文件对象f,指向e:\\test.txt 5 FileInputStream fis=nu

java 文件IO

基础类: 字节流:FileInputStream/FileOutputStream 字符流: FileReader/FileWriter 字节流和字符流的主要区别是:字节流是一次处理一个字节(8bit),字符流处理一个或者多个字节. 字节流直接和文件打交道,字符流在读取的时候使用了内存缓存,这就达到了读取多个字节的目的.

java文件io操作

FileReader fr=new FileReader("D:\\Demo.txt"); char[] ch=new char[2]; int len=0; while((len=fr.read(ch))!=-1) { System.out.print(new String(ch, 0, len)); } FileReader fr=new FileReader("D:\\Demo.txt"); int cl=0; while((cl=fr.read())!=-1