FileInputStream(重点)
package javase.bjpowernode.java.io;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class FileInputStreamTest01 {
public static void main(String[] args) {
FileInputStream fis=null;
try {
fis=new FileInputStream("D:\\editplus\\java代码\\temp");
int readData=0;
while((readData=fis.read())!=-1){
System.out.println(readData);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (fis != null) {
try{
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
如何进行读文件???
package javase.bjpowernode.java.io;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class FileInputStreamTest02 {
public static void main(String[] args) throws IOException {
FileInputStream fis=null;
try {
fis=new FileInputStream("temp");
byte[] bytes=new byte[4];
int readCount=0;
while((readCount=fis.read(bytes))!=-1)
{
System.out.println(new String(bytes,0,readCount));
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}finally {
try {
if (fis != null) {
fis.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
aviable()和skip()方法的使用
package javase.bjpowernode.java.io;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class FileInputStreamTest03 {
public static void main(String[] args) {
FileInputStream fis=null;
try {
fis=new FileInputStream("temp");
System.out.println("总字节数量:"+fis.available());
fis.skip(3);
System.out.println(fis.read());
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (fis != null) {
try{
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
FileOutputStream(重点)
package javase.bjpowernode.java.io;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class FileOutputStreamTest01 {
public static void main(String[] args) {
FileOutputStream fos=null;
try {
fos=new FileOutputStream("myfile",true);
byte[] bytes={97,98,99,100};
fos.write(bytes,0,2);
String s="我是一个中国人,我骄傲";
byte[] bs=s.getBytes();
fos.write(bs);
fos.flush();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (fos != null) {
try{
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
文件的拷贝
package javase.bjpowernode.java.io;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class Copy01 {
public static void main(String[] args) {
FileInputStream fis=null;
FileOutputStream fos=null;
try {
fis=new FileInputStream("D:\\001\\take.m4a");
fos=new FileOutputStream("D:\\002\\take.m4a");
byte[] bytes=new byte[1024*1024];
int readCount=0;
while ((readCount=fis.read(bytes))!=-1){
fos.write(bytes,0,readCount);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (fis != null) {
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (fos != null) {
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
FileRreader
package javase.bjpowernode.java.io;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class Copy01 {
public static void main(String[] args) {
FileInputStream fis=null;
FileOutputStream fos=null;
try {
fis=new FileInputStream("D:\\001\\take.m4a");
fos=new FileOutputStream("D:\\002\\take.m4a");
byte[] bytes=new byte[1024*1024];
int readCount=0;
while ((readCount=fis.read(bytes))!=-1){
fos.write(bytes,0,readCount);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (fis != null) {
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (fos != null) {
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
进行遍历
package javase.bjpowernode.java.io;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
public class FileReaderTest02 {
public static void main(String[] args) {
FileReader fir=null;
try {
fir=new FileReader("myfile");
char[] chars=new char[4];
fir.read(chars);
for (char c:chars)
{
System.out.println(c);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (fir != null) {
try{
fir.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
FileWriter
package javase.bjpowernode.java.io;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class FileWriterTest01 {
public static void main(String[] args) {
FileWriter fiw=null;
try {
fiw=new FileWriter("filewriter");
char[] chars={'我','是','中','国','人'};
fiw.write(chars,2,3);
fiw.flush();
} catch (IOException e) {
e.printStackTrace();
}finally {
if (fiw != null) {
try{
fiw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
FileReader和FileWriter联合使用进行拷贝
package javase.bjpowernode.java.io;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class Copy02 {
public static void main(String[] args) {
FileReader fir = null;
FileWriter fiw = null;
try {
fir = new FileReader("D:\\001\\niaho");
fiw = new FileWriter("D:\\002\\niaho");
char[] chars=new char[4];
int readCount=0;
while ((readCount=fir.read(chars))!=-1){
fiw.write(chars,0,readCount);
}
fiw.flush();
} catch (Exception e) {
e.printStackTrace();
}finally {
if (fiw != null) {
try {
fiw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (fir != null) {
try {
fir.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
BufferReader
package javase.bjpowernode.java.io;
import java.io.BufferedReader;
import java.io.FileReader;
public class BufferReaderTest01 {
public static void main(String[] args) throws Exception {
FileReader reader=new FileReader("myfile");
BufferedReader br=new BufferedReader(reader);
String s=null;
while ((s=br.readLine())!=null){
System.out.println(s);
}
br.close();
}
}
将字节字符流之间的转换
package javase.bjpowernode.java.io;
import java.io.*;
public class BufferReaderTest02 {
public static void main(String[] args) throws IOException {
FileInputStream fis=new FileInputStream("myfile");
InputStreamReader reader=new InputStreamReader(fis);
BufferedReader br=new BufferedReader(reader);
String s=null;
while ((s=br.readLine())!=null){
System.out.println(s);
}
br.close();
}
}
BufferWriter
package javase.bjpowernode.java.io;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
public class BufferWriterTest01 {
public static void main(String[] args) throws IOException {
FileWriter fiw=new FileWriter("myfile12");
BufferedWriter out=new BufferedWriter(fiw);
out.write("hello world");
out.write("\n");
out.write("hello kitty");
out.flush();
out.close();
}
}
PrintStream (将输出在控制台的文件输出到对应的文件)
package javase.bjpowernode.java.io;
import java.io.FileNotFoundException;
import java.io.PrintStream;
public class PrintStreamTest {
public static void main(String[] args) throws Exception {
System.out.println("hello world");
PrintStream ps=System.out;
ps.println("hekko");
ps.println("hello lisi");
PrintStream printStream=new PrintStream("log");
System.setOut(printStream);
System.out.println("hello world");
System.out.println("hello kitty");
System.out.println("hello zhangsan");
}
}
日志工具
package javase.bjpowernode.java.io;
import javax.xml.crypto.Data;
import java.io.FileOutputStream;
import java.io.PrintStream;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Logger {
public static void log(String msg) throws Exception {
PrintStream printStream=new PrintStream(new FileOutputStream("log.txt",true));
System.setOut(printStream);
Date nowTime= new Date();
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
String strTime=sdf.format(nowTime);
System.out.println(strTime+":"+msg);
}
}
package javase.bjpowernode.java.io;
public class LogTest {
public static void main(String[] args) {
try {
Logger.log("调用了System类的gc方法,建议启动垃圾回收器");
Logger.log("调用了UserService的doSome方法");
Logger.log("用户尝试进行登录,验证失败");
} catch (Exception e) {
e.printStackTrace();
}
}
}
File方法
package javase.bjpowernode.java.io;
import java.io.File;
import java.io.IOException;
public class FileTest01 {
public static void main(String[] args) throws IOException {
File f1=new File("F:\\file");
System.out.println(f1.exists());
File f2=new File("F:\\a\\b\\c\\d\\e\\f");
if (!f2.exists()){
f2.mkdirs();
}
File f3=new File("Q:\\素材库\\阴阳师作业图.png");
String ParentPath=f3.getParent();
System.out.println(ParentPath);
File ParentFile=f3.getParentFile();
System.out.println(ParentFile);
System.out.println(ParentFile.getAbsoluteFile());
File f4=new File("log");
System.out.println("绝对路径"+f4.getAbsolutePath());
}
}
package javase.bjpowernode.java.io;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
public class FileTest02 {
public static void main(String[] args) {
File f1=new File("Q:\\idm 下载地\\idm音乐\\Fractures.m4a");
System.out.println("文件名:"+f1.getName());
System.out.println("是否为目录:"+f1.isDirectory());
System.out.println("是否为文件:"+f1.isFile());
System.out.println("文件最后的修改时间是:"+f1.lastModified());
Date time =new Date();
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
String str=sdf.format(time);
System.out.println(str);
System.out.println(f1.length());
}
}
ListFiles方法专题
package javase.bjpowernode.java.io;
import java.io.File;
public class ListFileTest {
public static void main(String[] args) {
File f=new File("Q:\\idm 下载地");
File[] ff=f.listFiles();
for (File file:ff){
System.out.println(file.getAbsoluteFile());
}
}
}
序列化
package javase.bjpowernode.java.io;
import javase.bjpowernode.java.bean.Student;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.ObjectOutputStream;
public class ObjectOutputStreamTest01 {
public static void main(String[] args) throws Exception {
Student student=new Student();
ObjectOutputStream oos=new ObjectOutputStream(new FileOutputStream("students"));
oos.writeObject(student);
oos.flush();
oos.close();
}
}
序列化多个对象
package javase.bjpowernode.java.io;
import javase.bjpowernode.java.bean.User;
import java.io.FileOutputStream;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
import java.util.List;
public class ObjectOutputStreamTest02 {
public static void main(String[] args) throws Exception{
List<User> userList=new ArrayList<>();
userList.add(new User(1,"zhangsan"));
userList.add(new User(2,"lisi"));
userList.add(new User(3,"wangwu"));
ObjectOutputStream oos=new ObjectOutputStream(new FileOutputStream("users"));
oos.writeObject(userList);
oos.flush();
oos.close();
}
}
将序列化集合反序列化
package javase.bjpowernode.java.io;
import java.io.FileInputStream;
import java.io.ObjectInputStream;
public class ObjectInputStreamTest02 {
public static void main(String[] args) throws Exception{
ObjectInputStream ois=new ObjectInputStream(new FileInputStream("users"));
Object obj=ois.readObject();
System.out.println(obj);
ois.close();
}
}
IO和Properties联合使用
package javase.bjpowernode.java.io;
import java.io.FileReader;
import java.util.Properties;
public class IoPropertiesTest01 {
public static void main(String[] args) throws Exception{
FileReader reader=new FileReader("chapter\\userinfo");
Properties pro=new Properties();
pro.load(reader);
String username=pro.getProperty("username");
System.out.println(username);
String password=pro.getProperty("password");
System.out.println(password);
}
}