java文件输入输出流学习笔记

--java创建文件

File file=new File("java.txt");//此时java工作空间根目录下不一定存在java.txt

//判断是否存在不存在调用File类的createNewFile方法创建java.txt

File files=new File("E:\\war3");
if(!file.exists()){
file.createNewFile();
}
System.out.println(file.exists());//判断文件是否存在
System.out.println(file.isFile());//判断是不是文件

System.out.println(files.isDirectory());//判断是不是文件夹

System.out.println(file.getName());//获取文件名

System.out.println(file.getAbsolutePath());//获取文件绝对路径

//如果是文件夹  调用File类的listFiles方法以集合的形式获取其子文件 并打印其绝对路径

File[] arry=file.listFiles();
for (File f : arry) {
System.out.println(f.getAbsolutePath());
}

--FileInputStream 输入流  读取文件内容
File file=new File("java.txt");
FileInputStream fis=new FileInputStream(file);
--方法一
  int num=0;
  while((num=fis.read())!=-1){
   System.out.println((char)num);
  }
--方法二
byte[] bt=new byte[(int)file.length()];
int num1=0;
while((num1=fis.read(bt))!=-1){
String str=new String(bt);
System.out.println(str);

--FileOutputStream 输出流 写入文件

File file=new File("java.txt");
FileOutputStream fos=new FileOutputStream(file,true);
String str="hello world!";
--方法一
for(int i=0;i<str.length();i++){
fos.write(str.charAt(i));
}
  System.out.println("写入成功!");
--方法二
byte[] bt=str.getBytes();
fos.write(bt);
System.out.println("写入成功!");

FileInputStram类和FileOutputStream类虽然可以高效率地读/写文件,但对于Unicode编码的文件,使用它们有可能出现乱码;

考虑到Java是跨平台的语言,要经常操作Unicode编码的文件,使用字符流操作文件是有必要的;

使用字符流将涉及到以下4个类:

>FileReader类和FileWriter类;

>BufferedReader类和BufferedWriter类。

--读取文件信息
File file=new File("java.txt");
FileReader fr=new FileReader(file); //创建文件输入字符流文件
BufferedReader br=new BufferedReader(fr);//创建文件输入字符流文件缓冲区
String str;
while((str=br.readLine())!=null){
System.out.println(str);
}
--写入文件
FileWriter fw=new FileWriter(file);
BufferedWriter bw=new BufferedWriter(fw);
bw.write("hello word!");
bw.newLine();
bw.write("hello java!");
bw.flush();

时间: 2024-10-29 12:20:02

java文件输入输出流学习笔记的相关文章

文件输入输出流的学习

1.单个字节形式的字节输入输出(效率较低) (1)单个字节的输入流 package qwe;import java.io.*;public class inputStream1 { public static void main(String[] args) { FileInputStream in=null; try { in=new FileInputStream("a.txt"); int n; //用以接收输入流从文件读取的单个字节, read()函数返回的是字节对应的ascl

java的输入输出流(一)

java中i/o流是java中核心的一部分,以前学过,但是理解不够深入,渐渐的也就忘了,现在在从新学习下java的io处理,写下我学习的笔记,便于记忆,和总结归纳: 本文原创,转载请注明:http://blog.csdn.net/j903829182/article/details/38407723 1.java.io包中定义了多个流类型(类或抽象类)来实现输入/输出功能:可以从不同的角度进行分类: 按数据流的方向不同可以分为输入流和输出流. 按处理数据的单位不同可以分为字节流和字符流. 按照功

文件I/O学习笔记

Linux内核的VFS子系统: 文件描述符 对于内核而言,所有打开的文件都通过文件描述符引用.文件描述符是一个非负整数.当打开一个现有文件或创建一个新文件时,内核向进程返回一个文件描述符.当读或写一个文件时,使用open或creat返回的文件描述符标识该文件,将其作为参数传递给read或write. 按照惯例,UNIX系统shell使用文件描述符0与进程的标准输入相关联,文件描述符1与标准输出相关联,文件描述符2与标准出错相关联.这是各种shell以及很多应用程序使用的惯例,而与UNIX内核无关

文件输入输出流工具: IOUtils使用总结

文件输入输出流工具: IOUtils使用总结 以前写文件的复制很麻烦,需要各种输入流,然后读取line,输出到输出流...其实apache.commons.io里面提供了输入流输出流的常用工具方法,非常方便.下面就结合源码,看看IOUTils都有什么用处吧! 本文系转载,原作者:xingoo 出处:http://www.cnblogs.com/xing901022 常用的静态变量 在IOUtils中还是有很多常用的一些变量的,比如换行符等等 public static final char DI

JAVA基础-输入输出流

一,File类:文件的创建和删除 1.File(String pathname):pathname是指路径名称.用法 File file = new File("d:/1.txt "); 2.File(String parent, String child):parent是父路径字符串,child是子路径字符串.用法:File file = new File(" D:/", " letter.txt"); 3.File(File f, Strin

c++文件输入输出流fstream,对输入&gt;&gt;和输出&lt;&lt;重载

1. fstream 继承自iostream --> 要包含头文件#include<fstream> 2. 建立文件流对象 3. 打开文件夹 4. 测试是否打开成功 5. 进行读写操作 6. 关闭文件 #include<iostream> #include<fstream> using namespace std; int main(){ ifstream ifile; ofstream ofile; ifile.open("d:\\fileIn.txt

java 集合基础1 学习笔记

集合特点: 1.用于存储对象的容器. 2.集合的长度是可变的. 3.集合中不可以存储基本数据类型值. Collection接口常见方法: 1.添加 boolean add(obj); boolean addAll(Collection coll); 2.删除 boolean remove(obj); boolean removeAll(Collection coll); void clear();//清空集合 3.判断 boolean contains(obj); boolean contain

Java快速教程--vamei 学习笔记(基础篇)

链接:http://www.cnblogs.com/vamei/archive/2013/03/31/2991531.html java快速教程第1课 从HelloWorld到面向对象 学习网址:http://www.cnblogs.com/vamei/archive/2013/03/14/2958654.html java快速教程第2课 方法与数据成员 学习网址:http://www.cnblogs.com/vamei/archive/2013/03/25/2964430.html java快

Java快速教程--vamei 学习笔记(进阶篇)

感谢vamei,学习链接:http://www.cnblogs.com/vamei/archive/2013/03/31/2991531.html Java进阶01 String类 学习链接:http://www.cnblogs.com/vamei/archive/2013/04/08/3000914.html 字符串操作 ---------------------------------------------------------------------------------------