Java自学之路-Java基础教程-32:Java写文件操作和IO输入输出流
2018-03-19 16:06
876 查看
有读文件操作,就有写文件操作。Java的读写文件操作,称为IO操作,也就是Input和Output,输入和输出。读操作使用Input,写操作使用Output,读和写都是相对于计算机内存而言的。读即是往内存中放数据,是Input。写即是从内存中出数据,是Output。
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
File file = new File("E:/newFile.txt");
FileOutputStream fos = new FileOutputStream(file);
String content = new String("Hello World!");
fos.write(content.getBytes());
}
上面四行代码,就可以实现把一个字符串Hello World写到一个文件里。第一行File file = new File("E:/newFile.txt");创建了一个文件,文件路径是E:/newFile.txt。仅这一句,就已经在计算机硬盘上新建了一个名为E:/newFile.txt的文件了。
接着,FileOutputStream fos = new FileOutputStream(file);这句使用FileOutputStream文件输出流类创建一个输出流对象,构造方法传入新建的文件路径。
String content = new String("Hello World!");创建一个字符串对象,即是要向文件中写入的字符。
fos.write(content.getBytes());这句调用FileOutputStream对象的wrtie()方法,把字符串转为byte数组,并写入文件。getBytes()就是调用String类的转为字节数组方法。这样一步,就完成了把数据写入文件的操作。
下面我们来新建一个类,把文件的读操作和写操作的方法封装一下,也就是整理到一个自己写的类里,以后可以拿来用。注意,因为File、FileInputStream和FileOutputStream都在java.io这个包里,所以要用import关键字导入java.io.*这个包里的类。如果不用java.io.*,也可以分别导入这几个类,比如直接import java.io.File;就可以把File引入进来使用。为什么String、StringBuffer、System这些类不用引入呢?这些类位于java.lang包里,Java规定lang包不需要引入即可使用。
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
public class FileUtil {
private static void wrtieFile(String filePath, String fileContent) throws Exception {
File file = new File(filePath);
FileOutputStream fos = new FileOutputStream(file);
String content = new String(fileContent);
fos.write(content.getBytes());
}
private static String readFile(String filePath) throws Exception {
File javaFile = new File(filePath);
FileInputStream fis = new FileInputStream(javaFile);
byte[] bytes = new byte[1024];
StringBuffer stringBuffer = new StringBuffer();
while (fis.read(bytes) != -1) {
stringBuffer.append(new String(bytes));
}
return stringBuffer.toString();
}
}
上面创建了一个FileUtil类,它有两个static的方法wrtieFile和readFile。void wrtieFile(String filePath, String fileContent)没有返回值,接收的参数有文件路径filePath和要写入文件的内容fileContent。String readFile(String filePath)有String类型的返回值,接收的参数是要读的文件所在的路径filePath。之所以把这两个方法定义为static的,而且是public公用的,是因为我们可以使用FileUtil.readFile()这样进行方法操作,就不用再创建FileUtil对象了,这样的方法就是类的静态方法。
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
FileUtil.wrtieFile("E:/newFile.txt", "Hello Wolrd!");
FileUtil.readFile("E:/newFile.txt");
}在main方法中调用这两个方法,就可以实现读文件和写文件的操作了,这就是封装的作用。
下一步,我们看Java的异常类Exception。
具有OCR和ASR功能,可以识别图片和录音中文字,并有多国语言翻译功能,可以作为便签或笔记,类似微博的图文应用
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
File file = new File("E:/newFile.txt");
FileOutputStream fos = new FileOutputStream(file);
String content = new String("Hello World!");
fos.write(content.getBytes());
}
上面四行代码,就可以实现把一个字符串Hello World写到一个文件里。第一行File file = new File("E:/newFile.txt");创建了一个文件,文件路径是E:/newFile.txt。仅这一句,就已经在计算机硬盘上新建了一个名为E:/newFile.txt的文件了。
接着,FileOutputStream fos = new FileOutputStream(file);这句使用FileOutputStream文件输出流类创建一个输出流对象,构造方法传入新建的文件路径。
String content = new String("Hello World!");创建一个字符串对象,即是要向文件中写入的字符。
fos.write(content.getBytes());这句调用FileOutputStream对象的wrtie()方法,把字符串转为byte数组,并写入文件。getBytes()就是调用String类的转为字节数组方法。这样一步,就完成了把数据写入文件的操作。
下面我们来新建一个类,把文件的读操作和写操作的方法封装一下,也就是整理到一个自己写的类里,以后可以拿来用。注意,因为File、FileInputStream和FileOutputStream都在java.io这个包里,所以要用import关键字导入java.io.*这个包里的类。如果不用java.io.*,也可以分别导入这几个类,比如直接import java.io.File;就可以把File引入进来使用。为什么String、StringBuffer、System这些类不用引入呢?这些类位于java.lang包里,Java规定lang包不需要引入即可使用。
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
public class FileUtil {
private static void wrtieFile(String filePath, String fileContent) throws Exception {
File file = new File(filePath);
FileOutputStream fos = new FileOutputStream(file);
String content = new String(fileContent);
fos.write(content.getBytes());
}
private static String readFile(String filePath) throws Exception {
File javaFile = new File(filePath);
FileInputStream fis = new FileInputStream(javaFile);
byte[] bytes = new byte[1024];
StringBuffer stringBuffer = new StringBuffer();
while (fis.read(bytes) != -1) {
stringBuffer.append(new String(bytes));
}
return stringBuffer.toString();
}
}
上面创建了一个FileUtil类,它有两个static的方法wrtieFile和readFile。void wrtieFile(String filePath, String fileContent)没有返回值,接收的参数有文件路径filePath和要写入文件的内容fileContent。String readFile(String filePath)有String类型的返回值,接收的参数是要读的文件所在的路径filePath。之所以把这两个方法定义为static的,而且是public公用的,是因为我们可以使用FileUtil.readFile()这样进行方法操作,就不用再创建FileUtil对象了,这样的方法就是类的静态方法。
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
FileUtil.wrtieFile("E:/newFile.txt", "Hello Wolrd!");
FileUtil.readFile("E:/newFile.txt");
}在main方法中调用这两个方法,就可以实现读文件和写文件的操作了,这就是封装的作用。
下一步,我们看Java的异常类Exception。
具有OCR和ASR功能,可以识别图片和录音中文字,并有多国语言翻译功能,可以作为便签或笔记,类似微博的图文应用
相关文章推荐
- Java自学之路-Java基础教程-31:Java读文件操作和类的构造方法
- Java自学之路-Java基础教程-36:Java的数据库连接操作以及外部jar包导入
- Java基础——IO(拷贝文件+字节流-字符流缓冲区(装饰设计)-转换流-IO操作规律-异常日志-系统信息列表输出)
- Java自学之路-Java基础教程-2:运行Java程序的Java虚拟机环境塔建
- java基础——文件(IO)操作2
- Java-基础 文件操作IO 向文件中追加数据
- Java-基础 文件操作IO 将文件内容复制到另外一个文件中去
- Java-基础 文件操作IO-删除文件
- Java IO 操作基础2---操作 ZIP 压缩文件
- Java自学之路-Java基础教程-11:Java基本语句之1-条件控制语句if和else
- Java自学之路-Java基础教程-1:第一行Java代码Hello World!
- java基础——文件(IO)操作1
- Java自学之路-Java基础教程-9:Java的变量类型-8种基本类型和3种引用类型
- Java自学之路-Java基础教程-7:Java术语之成员类型符static
- Java自学之路-Java基础教程-4:Java编辑器Eclipse安装使用和Java工程创建
- Java-基础 文件操作IO-读取文件内容
- Java-基础 文件操作IO 设置文件权限为只读
- Java自学之路-Java基础教程-10:Java的4种运算符-算数运算符、关系运算符、逻辑运算符、位运算符
- Java-基础 文件操作IO 重命名文件
- java IO文件操作简单基础入门例子,IO流其实没那么难